"Self projecting" Linq

本文关键字:quot Linq Self projecting | 更新日期: 2023-09-27 18:06:44

我是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?

谢谢!

"Self projecting" Linq

下面的代码可以满足您的要求吗?

var parameter = Expression.Parameter(elementType, "posting");
var lambda = Expression.Lambda(parameter, new[] { parameter });