Expression.Lambda有反运算吗
本文关键字:运算 Lambda Expression | 更新日期: 2024-07-23 04:54:10
是否对Expression.Lambda<...>(originalExpression, parameterExpression)
进行反运算,以返回原始表达式?
上下文:
我正在使用lambda语法创建一个lambda表达式(根本不使用expression类),如下所示:
return item => item.Something
在应用程序的另一层中,我想"取消lambda"这个表达式,应用
expression= Expression.Not(expression);
到它,然后再次将它包装到lambda。
这可能吗?
LambdaExpression.Body
是您的原始表达式,因此您可以执行
var inverted = Expression.Lambda(Expression.Not(lambda.Body), lambda.Parameters);