评估lambda表达式

时间:2011-07-28 17:57:10

标签: linq lambda

我有一个班级

public class Person
{
    public int PersonId { get; set; }
    public string Name { get; set; }
}

我有一个人类型的lambda表达式

Expression<Func<TModel, TProperty>> expression

谁包含此值

{model => model.Name}

如何针对Person的实例评估该lambda表达式,以提取Name值属性?

2 个答案:

答案 0 :(得分:7)

您可以将表达式编译为委托并传入Person对象:

Func<Person, string> getName = expression.Compile();
string name = getName(person);

答案 1 :(得分:0)