14
System.Linq.Expressions.Expression
を評価して値(オブジェクト)を取得するための正確で堅牢な方法は何ですか?System.Linq.Expressions.Expressionを評価する方法
System.Linq.Expressions.Expression
を評価して値(オブジェクト)を取得するための正確で堅牢な方法は何ですか?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();
}
式はパラメータ化ラムダ式は何ですか? – phoog
良い質問...私の使用例では、パラメータ化されたラムダ式を取得するべきではありません。 (私はそれのための小切手を追加します。) –