Почему следующий код генерирует исключение во время выполнения, тогда как при традиционном выполнении компиляции без проблем?
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!
Я не буду использовать Expression.Convert
, поскольку могу ' t точно определить, какое выражение следует преобразовать.