评估System.Linq.Expressions.Expression以获得值(对象)的正确或可靠方法是什么?

最佳答案

我正在尝试使用以下方法,但不知道这是否是首选方法:

public static object Evaluate(Expression e)
{
    //A little optimization for constant expressions
    if (e.NodeType == ExpressionType.Constant)
        return ((ConstantExpression)e).Value;
    return Expression.Lambda(e).Compile().DynamicInvoke();
}

08-24 18:17