Why does a method prefixed with the interface name not compile in C#? -


निम्नलिखित क्यों संकलन नहीं करता है?

<पूर्व> इंटरफ़ेस IFoo {void Foo (); } वर्ग FooClass: IFoo {शून्य IFoo.Foo () {वापसी; } शून्य अन्य () {फू (); // ERROR}}

कंपाइलर शिकायत करता है कि "वर्तमान संदर्भ में नाम 'फूमडिथ' मौजूद नहीं है।

हालांकि, यदि फ़ू विधि को इन्हें बदल दिया गया है:

  सार्वजनिक शून्य Foo () {return; }  

यह ठीक से तैयार करता है।

मुझे समझ में नहीं आ रहा है कि कोई क्यों काम करता है और दूसरा नहीं करता।

< Div class = "post-text" itemprop = "text">

क्योंकि जब आप "इंटरफ़ेस को" स्पष्ट रूप से कार्यान्वित करते हैं, तो आप केवल इंटरफ़ेस प्रकार को कास्टिंग करके विधि तक पहुंच सकते हैं। अंतर्निहित कास्टिंग विधि नहीं मिलेगा।

  शून्य से अन्य () {IFoo f = (IFoo) यह: f.Foo (); }  

आगे पढ़ें:


Comments

Popular posts from this blog

c# - sqlDecimal to decimal clr stored procedure Unable to cast object of type 'System.Data.SqlTypes.SqlDecimal' to type 'System.IConvertible' -

Calling GetGUIThreadInfo from Outlook VBA -

Obfuscating Python code? -