मैं सी # में एएसटी को समझने की कोशिश कर रहा हूं। मुझे आश्चर्य है, इस उदाहरण से Compile()
विधि क्या है।लैम्ब्डा अभिव्यक्ति संकलन() विधि क्या करता है?
// Some code skipped
Expression<Func<string, int, int, string>> data = Expression.Lambda<Func<string, int, int, string>>(
Expression.Call(s, typeof(string).GetMethod(“Substring”, new Type[] { typeof(int), typeof(int) }), a, b),
s, a, b
);
Func<string, int, int, string> fun = data.Compile();
गलतफहमी रोकने के लिए, मैं Expression.Lambda
और Expression.Call
निर्माणों को समझते हैं। मुझे Compile()
विधि क्या रूचि है। क्या यह किसी भी तरह असली एमएसआईएल का उत्पादन करता है? क्या मैं एमएसआईएल देख सकता हूं?
एक प्रतिनिधि से एक प्रतिनिधि को प्राप्त करने के लिए आप कह सकते हैं कि आपको 'कंपाइल() ' – BrokenGlass
ठीक है, और उस प्रतिनिधि के पीछे क्या है? –
एक विधि (MethodInfo) – Jeff