LINQ liste la propriété au tableau?
Quelle est la meilleure façon de faire où PROPNAME
pourrait être un bien de type T
? Construire avec de la réflexion, ou est-il un bon LINQ façon de faire cela?
T[] vals = people.Select(x => x.PROPNAME).ToArray<T>();
c'est le meilleur que j'ai eu jusqu'à présent:
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>();
}
Eu une erreur dans le retour... mais se rapproche. C'est bien, mais un peu plus problématique que je l'avais espéré.
source d'informationauteur sgtz
Vous devez vous connecter pour publier un commentaire.
À l'aide d'un non-explicite var type, il va générer automatiquement le type de
Le type sera déduit si vous utilisez le mot-clé var: