"Самопроекция" Линк - PullRequest
       5

"Самопроекция" Линк

1 голос
/ 24 августа 2011

Я новичок в пространстве имен System.Linq.Expressions, но, похоже, вы можете делать довольно удивительные вещи.

Я хотел бы создать «самопроектирующееся» лямбда-выражение, используя объекты System.Linq.Expressions. Что-то вроде:

 list.Select(element => element);

Я наткнулся на пример, где они строят лямбда-выражение «проецирование свойств», используя следующий фрагмент:

 //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 });

Но как мне создать самопроецирующуюся лямбду?

Спасибо!

1 Ответ

3 голосов
/ 24 августа 2011

Будет ли следующее делать то, что вам нужно:

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