Expression.Lambda<...>(originalExpression, parameterExpression)
是否有逆运算那会给我返回原始表达式吗?
上下文:
我正在使用 lambda 语法创建一个 lambda 表达式(根本不使用 Expression 类),如下所示:
return item => item.Something
在应用程序的不同层,我想“un-lambda”这个表达式,应用
expression= Expression.Not(expression);
然后再将其包装到 lambda 中。
这可能吗?
最佳答案
LambdaExpression.Body
是你原来的表达方式,所以你可以这样做
var inverted = Expression.Lambda(Expression.Not(lambda.Body), lambda.Parameters);
关于c# - Expression.Lambda 有逆运算吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20423829/