Nie widzę dobrego podejścia z notacją don w ciągu, ponieważ ma więcej problemów z kolekcjami niż podejście ogólne:
Na przykład Persion.Friends.Name
- Który element jest tablicą w tym łańcuchu?
- Powinieneś zastosować wyraźną konwersję dla elementów kolekcji (możliwe miejsce błędów)
Metody ogólne są bardziej niezawodne w obsłudze i użyciu:
var friends = await GetFieldValue<Person, Friend[]>("avi", x => x.Friends);
var names = friends.Select(x=>x.Name).ToArray();