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

jer*_*ley 1 c# lambda

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

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

它很棒...但我也想要一个NotContains.我是否必须编写扩展方法,或者只是简单地做一个方法![lambda]?

Kir*_*oll 9

环绕Expression.Not:

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