2013-01-08 14 views

Antwort

13

Ich verwende versuchsweise die folgenden, aber nicht wissen, ob es die bevorzugte Methode ist:

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

Was passiert, wenn der Ausdruck eine parametrisierte Lambda-Ausdruck? – phoog

+0

Gute Frage ... In meinem Anwendungsfall sollte ich niemals einen Lambda-Ausdruck bekommen, parametrisiert oder nicht. (Ich werde einen Scheck dafür hinzufügen.) –

Verwandte Themen