繁体   English   中英

Expression.Lambda是否有反向操作?

[英]Is there an inverse operation to Expression.Lambda?

是否有一个与Expression.Lambda<...>(originalExpression, parameterExpression)相反的操作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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM