18

System.Linq.Expressions.Expression値 (オブジェクト) を取得するために aを評価する正しいまたは堅牢な方法は何ですか?

4

2 に答える 2

16

私は暫定的に以下を使用していますが、それが好ましい方法であるかどうかはわかりません:

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();
}
于 2013-01-08T23:44:02.147 に答える