我是System.Linq.Expressions命名空间的新手,但似乎你可以做一些非常棒的事情。
我想使用System.Linq.Expressions对象创建一个“自我投影”的lambda表达式。类似的东西:
list.Select(element => element);
我偶然发现了一个示例,他们使用以下代码段构建了一个“属性投影”lambda表达式:
//creates something like: list.Select(element => element.[propertyName])
var parameter = Expression.Parameter(elementType, "posting");
Expression property = Expression.Property(parameter, propertyName);
LambdaExpression lambda = Expression.Lambda(property, new[] { parameter });
但我怎么能创造一个自我投射的lambda?
谢谢!
答案 0 :(得分:3)
以下是否符合您的要求:
var parameter = Expression.Parameter(elementType, "posting");
var lambda = Expression.Lambda(parameter, new[] { parameter });