इस बारे में उत्सुक है कि .NET CLR आंतरिक रूप से इंटरफेस को कैसे संभालता है?.NET CLR आंतरिक रूप से "इंटरफेस" को कैसे कार्यान्वित करता है?
Q1] क्या जब CLR की तरह कुछ का सामना करना पड़ता होता है: (। एक ही नीचे का इस्तेमाल किया)
interface ISampleInterface
{
void SampleMethod();
}
class ImplementationClass : ISampleInterface
{
// Explicit interface member implementation:
public void SampleMethod()
{
// Method implementation.
}
static void Main()
{
//Declare an interface instance.
ISampleInterface mySampleIntobj = new ImplementationClass(); // (A)
// Call the member.
mySampleIntobj.SampleMethod();
// Declare an interface instance.
ImplementationClass myClassObj = new ImplementationClass(); // (B)
//Call the member.
myClassObj.SampleMethod();
}
}
Q2: ऊपर के उदाहरण कैसे हैं (ए) और (बी) अंतरित?
प्रश्न 3: Generic Interfaces अलग से इलाज किया गया है?
(एक noob की तरह लगता है जब इस तरह के बुनियादी सवाल पूछ ... वैसे भी ....)
सभी Thx।
क्योंकि यह केवल आंशिक रूप से एक उत्तर है, मैं इसे यहां छोड़ दूंगा। अपने कोड mySampleIntobj.SampleMethod() में शुरू करने के लिए; और myClassObj.SampleMethod(); दो अलग-अलग तरीकों को बुला सकता है। पहला कॉल कॉल से मेल खाने वाली किसी भी स्पष्ट रूप से लागू विधियों को कॉल करेगा, दूसरा नहीं होगा। केवल उस स्थिति में जहां कोई स्पष्ट विधि मिलान नहीं है, वे उसी विधि को कॉल करेंगे –
क्या यह संकलित करता है? AFAIK, आपके पास (बी) कॉल के लिए सार्वजनिक 'नमूना विधि() 'होना चाहिए। – Humberto
ओह हाँ क्षमा करें .. अब संपादित/सही किया गया :) thx :) – Amitd