小编Isl*_*ene的帖子

没有为类型'System.Int32'和'System.Double'定义二元运算符Multiply.

为什么以下代码在运行时抛出异常,而以传统方式执行此操作却没有问题?

var left = Expression.Constant(25d);
var right = Expression.Constant(20);

// Throws an InvalidOperationException!
var multiplyExpression = Expression.Multiply(left, right); 

var multiply = 25d * 20;
Debug.WriteLine(multiply.ToString()); // Works normally!
Run Code Online (Sandbox Code Playgroud)

我不会使用,Expression.Convert因为我无法准确确定应该转换哪个表达式.

c# linq expression

10
推荐指数
2
解决办法
5086
查看次数

标签 统计

c# ×1

expression ×1

linq ×1