c# - Lambda 表达式——将逻辑非应用于 bool 方法调用

标签 c# lambda

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

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

效果很好……但我还想要一个 NotContains。我是否必须编写一个扩展方法,或者是否有一种方法可以简单地执行 ![lambda]?

最佳答案

Expression.Not 包围:

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

关于c# - Lambda 表达式——将逻辑非应用于 bool 方法调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4092168/

相关文章:

C# 接口(interface)、多态性和委托(delegate)

c# - 从 WebBrowser 控件复制

c# - ReSharper 无法反编译 .NET Standard 程序集

c# - 如何解析 XSD 文件

python - Pandas 中基于行计算的有效方法

c++ - 在 C++11 中调用 lambda 从高阶函数返回时出现段错误

c# - 无法生成正确的类

linq - 如何使用Lambda表达式查询嵌套列表

c# - 从具有未知签名的 MethodInfo 创建表达式函数

java - 类型不匹配 : cannot convert from Map<Object, Map<Object,List<ActorContents>>> 到 Map<Actor ,Map<String,List<ActorContents>>>