ठीक है मेरे पास एक व्युत्पन्न कक्षा है जिसमें मेरी बेस क्लास पर एक विधि को अधिभारित किया गया है। मैं कॉल करता हूं जो मुझे लगता है कि बेस क्लास के विधि हस्ताक्षर से मेल खाता है लेकिन इसके बजाय मेरे व्युत्पन्न वर्ग कार्यान्वयन को बुलाया जाता है। (नीचे दिया गया कोड हमेशा "MyDerived" प्रिंट करता है) यह क्यों है?गलत अधिभार चुनने वाला कंपाइलर
public class MyBase
{
public void DoSomething(int a)
{
Console.WriteLine("MyBase");
}
}
public class MyDerived : MyBase
{
public void DoSomething(long a)
{
Console.WriteLine("MyDerived");
}
}
Main()
{
MyDerived d = new MyDerived();
d.DoSomething((int)5);
}
मैं सिर्फ एक नया कंसोल अनुप्रयोग में अपने कोड की नकल की है, और मैं हो "MyDerived" बाहर हर बार लिखा है। क्या यह सही कोड है जिसका आप उपयोग कर रहे हैं? –
क्षमा करें! मेरा मतलब है कि यह MyDerived प्रिंट करता है! Typo मैं इसे अब बदल रहा हूँ! –