मैं निम्नलिखित सरल कोडअतिरंजित विधि को कॉल करने के लिए कैसे ओवरलोड किया गया है?
abstract class A
{
public abstract void Test(Int32 value);
}
class B : A
{
public override void Test(Int32 value)
{
Console.WriteLine("Int32");
}
public void Test(Double value)
{
Test((Int32)1);
}
}
मुझे इस कोड की लाइन टेस्ट भाग गया ((Int32) 1) अनंत प्रत्यावर्तन के कारण ढेर अतिप्रवाह का कारण बनता है की है। केवल संभव तरीके से सही ढंग से उचित विधि (पूर्णांक पैरामीटर के साथ) कॉल करने के लिए मैंने पाया
(this as A).Test(1);
है लेकिन यह मेरे लिए उचित नहीं है, क्योंकि दोनों तरीकों टेस्ट सार्वजनिक कर रहे हैं और मैं तैयार उन दोनों कॉल करने के लिए सक्षम होने के लिए कर रहा हूँ तरीका?