मैं एक इंटरफ़ेस विधि का एक MethodInfo
और एक वर्ग कि इंटरफ़ेस लागू करता है की Type
है। मैं कक्षा विधि के MethodInfo
को ढूंढना चाहता हूं जो इंटरफ़ेस विधि लागू करता है।कक्षा विधि के MethodInfo को कार्यान्वित करने, इंटरफ़ेस विधि के MethodInfo कैसे प्राप्त करें?
सरल method.GetBaseDefinition()
इंटरफ़ेस विधियों के साथ काम नहीं करता है। नाम से लुकअप या तो काम नहीं करेगा, क्योंकि इंटरफ़ेस विधि को लागू करते समय स्पष्ट रूप से इसका कोई नाम हो सकता है (हाँ, सी # में नहीं)।
तो सही क्या है जो सभी संभावनाओं को पूरा करने का तरीका है?
आप नाम से मेल नहीं खाते हैं। नाम से मेल नहीं खाते हैं। यह एक सी # नियम है, अन्य भाषाओं (वीबी) आपको जो भी पसंद है ओवरराइडिंग विधियों का नाम दें। –
ऊपर मेरा नमूना नाम से मेल नहीं खाता है, यह MethodInfo पर समान विधि से मेल खाता है। मेरा मतलब यह था कि आपको उस विधि को जांचने की आवश्यकता होगी। MethodInfo.Equals अभी भी दो उदाहरणों को बराबर मानता है यदि वे केवल नाम से भिन्न होते हैं। –
ठीक है, क्षमा करें, लेकिन आपका कोड अभी भी जो भी मुझे चाहिए वह नहीं कर रहा है। यह मुझे कक्षा 'विधि जानकारी नहीं देगा - यह मुझे इंटरफ़ेस' विधि जानकारी देगा। आप केवल यह कहते हैं कि कक्षा इंटरफ़ेस लागू करती है। –