动态创建keySelector c#

时间:2015-01-31 04:11:04

标签: c# linq lambda linq-expressions

我正在与Expression,Func& co。

挣扎

我知道可以创建允许选择一个字段的表达式,例如

Select(t=>t.MyProperty);

相当于

var paramExp = Expression.Parameter(typeof(T));
var propExp = Expression.PropertyOrField(paramExp, "MyProperty");
var convertedExp = Expression.Convert(propExp, typeof(object));
var keySelectorExp = Expression.Lambda<Func<T, object>>(convertedExp, paramExp);
Select(keySelectorExp.Compile());

我想要实现的是

Select(t=> new {t.Prop1, t.Prop2})

GroupBy(t=> new {t=>Prop1, t.Prop2})

我希望有可能。

谢谢, 的Alessandro

0 个答案:

没有答案