Je tente de générer un arbre Expression qui appelle finalement une série de méthodes GroupBy sur le type Enumerable.Besoin d'aide pour créer Linq.Expression à Enumerable.GroupBy
En forme simplifiée je tente quelque chose comme ceci:
IEnumerable<Data> list = new List<Data>{new Data{Name = "A", Age=10},
new Data{Name = "A", Age=12},
new Data{Name = "B", Age=20},
new Data{Name="C", Age=15}};
Expression data = Expression.Parameter(typeof(IEnumerable<Data>), "data");
Expression arg = Expression.Parameter(typeof(Data), "arg");
Expression nameProperty = Expression.PropertyOrField(arg, "Name");
Expression group = Expression.Call(typeof(Enumerable), "GroupBy", new Type[] { typeof(Data), typeof(string) }, data, nameProperty);
L'appel à Expression.Call à la fin jette « Aucune méthode « GroupBy » du type « System.Linq.Enumerable » est compatible avec le arguments fournis. "
Je fais une chose similaire, d'une manière similaire avec Enumerable.OrderBy
avec succès et suis perplexe.
Toute aide est appréciée.
qui a fonctionné. Je vous remercie – dkackman