Jaki jest najlepszy sposób zrobienia tego, gdy PROPNAME
może być dowolną własnością typu T
? Zbuduj to za pomocą refleksji, czy istnieje dobry sposób LINQ na robienie tego?Właściwość listy LINQ do tablicy?
T[] vals = people.Select(x => x.PROPNAME).ToArray<T>();
jest to najlepszy mam tak daleko:
public T[] ConvertListCol<TFrom,T>(IEnumerable<TFrom> list, string col)
{
var typ = typeof (TFrom);
var props = typ.GetProperties();
var prop = (from p in props where p.Name == col select p).FirstOrDefault();
var ret = from o in list select prop.GetValue(o, null);
return ret.ToArray<T>();
}
masz błąd w zamian ... ale coraz bliżej. Jest w porządku, ale trochę bardziej zawikłane, niż się spodziewałem.
Czy jesteś po tablicy nazw własności "ludzi"? –
Czy próbujesz utworzyć wielokrotnego użytku kawałek kodu, gdzie można określić dowolną właściwość i odzyskać zestaw reprezentacji ciągów? – Tejs
Sytuacja polega na tym, że istnieje duży obiekt poco o wielu właściwościach, a API chciałoby zobaczyć je po jednej kolumnie naraz, a nie po jednym wierszu naraz. – sgtz