gpt4 book ai didi

linq - 编译需要参数的表达式

转载 作者:行者123 更新时间:2023-12-05 00:02:38 25 4
gpt4 key购买 nike

好的,我相信这很简单,但我正在度过一个高级时刻。

我有一个简单的 BinaryExpression(大于),左侧是一个 ParameterExpression,右侧是一个 ConstantExpression 我想将此表达式编译为一个函数,我可以调用该函数并将参数传递给...

var func = ...something with my exp....

bool result = func(myValue);

感谢哈桑,我根据我的需要修改了他的答案......
var func = Expression.Lambda<Func<int,bool>>(myExpr, (ParameterExpression)myExpr.left).Compile();

最佳答案

var param = Expression.Parameter(typeof(int));
var value = Expression.Constant(3);
var body = Expression.GreaterThan(param, value);
var checkValue = Expression.Lambda<Func<int, bool>>(body, param).Compile();

Console.WriteLine(checkValue(4));
Console.WriteLine(checkValue(2));

关于linq - 编译需要参数的表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7708895/

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