评估lambda表达式

iur*_*ona 3 linq lambda

我上课了

public class Person
{
    public int PersonId { get; set; }
    public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

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

Expression<Func<TModel, TProperty>> expression
Run Code Online (Sandbox Code Playgroud)

谁包含此值

{model => model.Name}
Run Code Online (Sandbox Code Playgroud)

如何针对Person实例计算lambda表达式,以提取Name值属性?

Mar*_*ade 7

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

Func<Person, string> getName = expression.Compile();
string name = getName(person);
Run Code Online (Sandbox Code Playgroud)