Nevidím dobrý přístup s donovým zápisem v řetězci, protože má více problémů s kolekcemi než obecný přístup:
Například Persion.Friends.Name
- Který prvek je pole v tomto řetězci?
- Měli byste použít explicitní konverzi pro prvky kolekce (možná místa chyb)
Obecné metody jsou spolehlivější v podpoře a používání:
var friends = await GetFieldValue<Person, Friend[]>("avi", x => x.Friends);
var names = friends.Select(x=>x.Name).ToArray();