2013-01-08 17 views

उत्तर

13

मैं अंतरिम रूप से निम्नलिखित का उपयोग कर रहा है, लेकिन अगर यह पसंदीदा तरीका नहीं जानता:

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

क्या होगा अगर अभिव्यक्ति एक पैरामिट्रीकृत लैम्ब्डा अभिव्यक्ति है? – phoog

+0

अच्छा सवाल ... मेरे उपयोग के मामले में, मुझे कभी भी लैम्ब्डा अभिव्यक्ति नहीं मिलनी चाहिए, पैरामीटर या नहीं। (मैं इसके लिए एक चेक जोड़ दूंगा।) –

संबंधित मुद्दे