gpt4 book ai didi

c# - 如何获取 Lambda MemberExpression 的值

转载 作者:太空狗 更新时间:2023-10-30 01:28:21 26 4
gpt4 key购买 nike

给定一个 Lambda 表达式:

Define(Expression<Func<T, int>> property)

并像这样使用:

Define(x => x.Collection.Count)

获取 Count 值的最佳方法是什么?表达式树是否有简单的方法,或者我应该使用反射来解析树以获取 PropertyInfo 和 GetValue()?

最佳答案

您可以使用以下方法获取与您的 lambda 对应的委托(delegate):

var propDelegate = property.Compile();
var count = propDelegate(...);

propDelegate 将是一个 Func<T, int> ,您可以通过传入所需的类型 T 对象来调用它。

关于c# - 如何获取 Lambda MemberExpression 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/821887/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com