ниже мой фрагмент кода:
ConstantExpression constant1 = Expression.Constant(5);
ConstantExpression constant2 = Expression.Constant(5.3);
Expression expr = Expression.Multiply(constant1, constant2);
var compiled = Expression.Lambda<Func<double>>(expr).Compile();
Console.WriteLine(compiled.Invoke());
Console.WriteLine();
Исключение повышения системы на Expression expr = Expression.Multiply(constant1, constant2);
сообщение об ошибке: отсутствует двоичный оператор Multiply между «System.Int32» и «System.Double». Я изменяю умножение, чтобы добавить и разделить сообщение об ошибке то же самое.
Как использовать выражение для симуляции математического выражения?
PS: я не буду использовать выражение, как ConstantExpression constant1 = Expression.Constant(5.0);
. Потому что, если я напишу такой код, как показано ниже:
Console.WriteLine(string.Format("5*5.3={0}",5 * 5.3));
Все нормально, есть ли способ симулировать такое математическое выражение?