मुझे यह छोटी समस्या है, कि मैं गैर सामान्य प्रकार पर जेनेरिक विधि के MethodInfo को वापस पाने के लिए Type.GetMethod को पास करने के लिए कौन से तर्कों को समझने के लिए नहीं समझ सकता। विशेष रूप से, मैं इस प्रकार की परिभाषा है:एक गैर सामान्य जेनेट प्रकार पर एक सामान्य विधि के MethodInfo कैसे प्राप्त करें?
public static class A
{
public static B F<T>(bool dummy)
{
}
public static B F<T>(IEnumerable<T> arg)
{
...
}
}
मैं कई की कोशिश की है Type.GetMethod पर ले जाता है, लेकिन कोई भी एफ विधि के MethodInfo लौट आते हैं।
मुझे पता है कि मैं Type.GetMethods या यहां तक कि टाइप भी कर सकता हूं। ढूँढें, लेकिन मुझे Type.GetMethod में रूचि है।
कोई विचार?
धन्यवाद।
संपादित
वास्तव में, मेरी कोड में थोड़ा और अधिक जटिल है। सामान्य विधि अधिभारित है, इसलिए मैं केवल कार्य नाम के साथ Type.GetMethod का उपयोग नहीं कर सकता। मैं इन वेरिएंट की कोशिश की:
typeof(A).GetMethod("F", BindingFlags.Static | BindingFlags.Public, null, new Type[]{ typeof(IEnumerable<>) }, null)
typeof(A).GetMethod("F`1", BindingFlags.Static | BindingFlags.Public, null, new Type[]{ typeof(IEnumerable<>) }, null)
typeof(A).GetMethod("F[T]", BindingFlags.Static | BindingFlags.Public, null, new Type[]{ typeof(IEnumerable<>) }, null)
typeof(A).GetMethod("F[[T]]", BindingFlags.Static | BindingFlags.Public, null, new Type[]{ typeof(IEnumerable<>) }, null)
कृपया जिस कोड को आपने आजमाया है उसे पोस्ट करें। –
मेरा प्रश्न बदल दिया। धन्यवाद। – mark
@ मार्क मैंने अपना जवाब बदल दिया। –