linq - 评估 lambda 表达式

标签 linq lambda

我有课

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

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

Expression<Func<TModel, TProperty>> expression

谁包含这个值

{model => model.Name}

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

最佳答案

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

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

关于linq - 评估 lambda 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6863476/

相关文章:

c# - 在 Entity Framework 中从数据库加载 N 条记录

c# - 如何返回自定义匿名类型?

c# - 从具有整数属性的 List<T> 返回 List<int>?

c# - 在哪里可以找到使用 linq 和 lambda 表达式生成动态 where 和 orderby sql 的好例子?

c++ - QtConcurrent::run with lambda on mac os 没有匹配函数

c# - IQueryable<T> 扩展方法不起作用

c# - 最小化 LINQ 字符串 token 计数器

lambda - 使用 JDK8 Lambda 的 FizzBu​​zz

c++ - 如何对 unique_ptr 列表进行排序?

lambda - 如何在apollo-server-lambda中处理cookie