0
我正在尝试生成一个表达式树,最终调用Enumerable类型的一系列GroupBy方法。需要帮助创建Linq.Expression到Enumerable.GroupBy
以简单的形式,我试图这样的事情:
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);
呼叫在年底Expression.Call抛出“没有方法上键入'的GroupBy‘System.Linq.Enumerable’与兼容提供的参数。“
我正在做类似的事情,以类似的方式与Enumerable.OrderBy
成功和难住。
任何帮助表示赞赏。
工作。谢谢 – dkackman 2009-10-30 16:20:06