我想构建一个 UnaryExpression 列表,以便稍后在我的代码中使用。我能够轻松地将其用于 BinaryExpression 并获得:
var binaryList = new Func<Expression, Expression, Expression>[]
{
Expression.Add,
Expression.Subtract,
Expression.Multiply,
Expression.Divide
};
在我的 UnaryExpression 列表中,我希望能够将 Math.Cos(..)、Math.Log(..) 处理为一元运算符。为了得到这个想法,我很想拥有类似的东西
var unaryList = new Func<Expression, Expression>[]
{
Expression.Negate, // works fine
new Func<Expression, Expression>(
expr => new UnaryExpression(Math.Cos, expr)
};
有什么建议么?提前致谢。