में प्रतिबिंब का उपयोग कर जेनेरिक विधि को कॉल करना मेरे पास एक प्रश्न है। क्या .NET में प्रतिबिंब का उपयोग करके जेनेरिक विधि को कॉल करना संभव है? मैं निम्नलिखित कोड.NET
var service = new ServiceClass();
Type serviceType = service.GetType();
MethodInfo method = serviceType.GetMethod("Method1", new Type[]{});
method.MakeGenericMethod(typeof(SomeClass));
var result = method.Invoke(service, null);
की कोशिश की लेकिन यह निम्न अपवाद फेंकता है "देर बाध्य आपरेशन प्रकार या तरीकों जिसके लिए ContainsGenericParameters सच है पर नहीं किया जा सकता।"
बढ़िया! यह अब काम करता है। मेरी बदसूरत गलती ... – yshchohaleu
मुझे यह समझने की एक ही सटीक समस्या नहीं थी कि 'MakeGenericMethod' एक कार्य है, एक शून्य विधि नहीं है, मुझे यकीन है कि यह ha_t का मुद्दा भी था। – Shimmy
मैंने अभी भी वही गलती की है, लेकिन ऐसा इसलिए था क्योंकि मैंने MakeGenericMethod के परिणाम को असाइन करने के लिए लाइन डाली लेकिन उस नए लौटे हुए मूल्य का उपयोग करने के लिए इनवोकिंग कोड को बदलना भूल गया। – Charlie