【发布时间】:2011-05-23 23:28:21
【问题描述】:
我正在寻找一种方法来否定用于过滤IQueryable 序列的表达式。
所以,我有类似的东西:
Expression<Func<T, bool>> expression = (x => true);
现在我希望创建将导致产生 (x => false) 的表达式 - 所以我基本上想否定 expression。
我发现自己的工作方法是这样的:
var negatedExpression =
Expression.Lambda<Func<T, bool>> (Expression.Not(expression.Body),
expression.Parameters[0])));
但我几乎可以肯定有更好的方法 - 你能帮我吗?(可能类似于 Not(expression))。
【问题讨论】:
标签: c# expression negate