Lambda表达式 - 将逻辑不应用于布尔方法调用

时间:2010-11-03 22:19:31

标签: c# lambda

这必须有一个简单的答案 - 我有一段看起来像这样的代码......

condition = Expression.Call(memberAccess,
                        typeof(string).GetMethod("Contains"),
                        Expression.Constant(value));
                    lambda = Expression.Lambda(condition, parameter);

效果很好...但我也想要一个NotContains。我是否必须编写扩展方法,或者有办法简单地做一个![lambda]?

1 个答案:

答案 0 :(得分:9)

环绕Expression.Not

condition = Expression.Not(Expression.Call(memberAccess,
                    typeof(string).GetMethod("Contains"),
                    Expression.Constant(value)));
lambda = Expression.Lambda(condition, parameter);