संभव डुप्लिकेट:
Is there any way in C# to override a class method with an extension method?विस्तार विधि के साथ एक विधि ओवरराइड (या छाया)?
यह override या shadow विस्तार के तरीकों के साथ उदाहरण के तरीकों (सी # में new) करना संभव है?
संभव डुप्लिकेट:
Is there any way in C# to override a class method with an extension method?विस्तार विधि के साथ एक विधि ओवरराइड (या छाया)?
यह override या shadow विस्तार के तरीकों के साथ उदाहरण के तरीकों (सी # में new) करना संभव है?
सं MSDN से:
आप विस्तार तरीकों का उपयोग एक वर्ग या इंटरफ़ेस का विस्तार कर सकते हैं, लेकिन उन्हें ओवरराइड करने के लिए नहीं। इंटरफ़ेस या क्लास विधि के समान नाम और हस्ताक्षर वाले एक एक्सटेंशन विधि को कभी भी नहीं कहा जाएगा। संकलन समय पर, एक्सटेंशन विधियों को हमेशा टाइप प्रकार में परिभाषित उदाहरण विधियों की तुलना में कम प्राथमिकता होती है।
मैं एक ही लेख को उद्धृत करने वाला था;) –
@ जीन; ठीक ठीक। साथ ही, याद रखें कि एक्सटेंशन विधियां सिर्फ वाक्य रचनात्मक चीनी हैं; आप वास्तव में कक्षा को विस्तारित नहीं कर रहे हैं, बस एक स्थिर विधि बनाते हैं जो वर्ग को तर्क के रूप में लेता है। –
बहुत अच्छा मुद्दा, कई लोग भूल जाते हैं * कैसे * वे काम करते हैं। – Gregory