为什么以下代码在运行时抛出异常,而以传统方式执行此操作却没有问题?
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因为我无法准确确定应该转换哪个表达式.