gpt4 book ai didi

c# - 如何提取传递给 Expression> 的属性名称和值?

转载 作者:太空狗 更新时间:2023-10-29 20:05:50 24 4
gpt4 key购买 nike

假设我有这样的方法:

public static List<T> Get<T>(this SomeObject<T>, Expressions<Func<T,bool>> e){

//get the property name and value they want to check is true / false
...

}

TheObject().Get(x => x.PropertyName == "SomeValue");

当我将“PropertyName”和“SomeValue”传递给 Get 扩展方法时,如何获取它?

最佳答案

我想这就是你想要的

BinaryExpression expression = ((BinaryExpression)e.Body);
string name = ((MemberExpression)expression.Left).Member.Name;
Expression value = expression.Right;


Console.WriteLine(name);
Console.WriteLine(value);

输出:

PropertyName
SomeValue

错误检查留给读者作为练习......

关于c# - 如何提取传递给 Expression<Func<T,bool>> 的属性名称和值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7433630/

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