При попытке запустить следующий код:
Expression<Func<string, string>> stringExpression = Expression.Lambda<Func<string, string>>(
Expression.Add(
stringParam,
Expression.Constant("A")
),
new List<ParameterExpression>() { stringParam }
);
string AB = stringExpression.Compile()("B");
Я получаю сообщение об ошибке в заголовке: "Бинарный оператор Add не определен для типов" System.String "и" System.String "." Это действительно так? Очевидно, что в С# это работает. Делает ли string s = "A" + "B"
в специальном синтаксическом саже С#, что компилятор выражения не имеет доступа к?