Как оценить выражение System.Linq.Expressions.Expression - программирование

Как оценить выражение System.Linq.Expressions.Expression

Каков правильный или надежный способ оценки System.Linq.Expressions.Expression для получения значения (объекта)?

4b9b3361

Ответ 1

Я предварительно использую следующее, но не знаю, является ли это предпочтительным методом:

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();
}