如何评估System.Linq.Expressions.Expression

Tim*_*lds 18 .net c#

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

Tim*_*lds 15

我暂时使用以下内容,但不知道它是否是首选方法:

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();
}
Run Code Online (Sandbox Code Playgroud)