“The binary operator Add is not defined for the types 'System.String' and 'System.String'.” — Really?
问题 When trying to run the following code: 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"); I get the error referenced in the title: "The binary operator Add is not defined for the types 'System.String' and 'System.String'." Is that really the case? Obviously in C# it works. Is doing string s = "A" + "B