小编uno*_*aii的帖子

调用Expression的Equal方法

当我运行这段代码时

Expression left = Expression.Constant(10, typeof(int));
Expression right = Expression.Constant(10,typeof(int));

var method10 = typeof(Expression).GetMethod("Equal", new[] { typeof(Expression), typeof(Expression) });
Expression exp = Expression.Call(method10,left,right);
var lambda = Expression.Lambda<Func<bool>>(exp);
var compiled = lambda.Compile().DynamicInvoke();
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

附加信息:类型的表达式'System.Int32'不能用于'System.Linq.Expressions.Expression'方法类型的参数'System.Linq.Expressions.BinaryExpression Equal(System.Linq.Expressions.Expression, System.Linq.Expressions.Expression)'

c# lambda expression

1
推荐指数
1
解决办法
4155
查看次数

标签 统计

c# ×1

expression ×1

lambda ×1