Ho il seguente codice sempliceCome chiamare il metodo sottoposto a override con sovraccarico?
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);
}
}
Quando ho eseguito questo codice la linea di prova ((Int32) 1) provoca overflow dello stack a causa di una ricorsione infinita. L'unico modo possibile per chiamare in modo corretto metodo corretto (con parametro intero) che ho trovato è
(this as A).Test(1);
Ma questo non è appropriato per me, perché entrambi i metodi di prova sono pubbliche e sono disposto agli utenti di essere in grado di chiamare sia metodo?