Tim*_*vis 4 linq expression-trees
好的,我确信这很简单,但我有一个高级时刻.
我有一个简单的BinaryExpression(greaterthan),左边是一个ParameterExpression,右边是一个ConstantExpression我想把这个表达式编译成一个func,我可以调用并传递一个参数给...
var func = ...something with my exp....
bool result = func(myValue);
Run Code Online (Sandbox Code Playgroud)
感谢哈桑,我根据自己的需要修改了答案......
var func = Expression.Lambda<Func<int,bool>>(myExpr, (ParameterExpression)myExpr.left).Compile();
Run Code Online (Sandbox Code Playgroud)
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));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
104 次 |
| 最近记录: |