मैं दो अलग मशीनों पर निम्नलिखित कार्यक्रम चला रहा हूँ:स्थैतिक वर्ग में बेनामी विधि गैर स्थैतिक है? इसे कैसे शुरू करें?
static class Program
{
static void Main(string[] args)
{
Func<int> lambda =() => 5;
Console.WriteLine(lambda.GetMethodInfo().IsStatic);
Console.ReadLine();
}
}
एक मशीन पर, .NET 4.5 और विजुअल स्टूडियो 2012 के साथ स्थापित इस "सही" प्रिंट, एक और एक पर, .नेट फ्रेमवर्क 4.6.2 के साथ और विजुअल स्टूडियो 2015 यह "झूठा" प्रिंट करता है।
मैंने सोचा कि अज्ञात विधियां स्थिर हैं यदि उन्हें स्थिर संदर्भ में परिभाषित किया गया है। पिछले कुछ फ्रेमवर्क अपडेट के दौरान क्या यह परिवर्तन (दस्तावेजी तरीके से) था?
मुझे क्या करना है, Expression.Call
lambda.GetMethodInfo()
पर उपयोग करना है, और गैर स्थैतिक मामले में इसके लिए एक उदाहरण की आवश्यकता है जिस पर लैम्ब्डा परिभाषित किया गया है। अगर मैं lambda.GetMethodInfo().Invoke
का उपयोग करना चाहता था तो मुझे एक ही समस्या का सामना करना पड़ेगा।
मुझे ऐसा उदाहरण कैसे प्राप्त हो सकता है?
लेकिन आपका लक्ष्य क्या है? अपेक्षित परिणाम क्या है? –