У меня есть следующий простой код
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);
}
}
Когда я запускаю этот код, строка Test((Int32)1)вызывает переполнение стека из-за бесконечной рекурсии. Единственный возможный способ правильно вызвать правильный метод (с целочисленным параметром ), который я нашел, это
(this as A).Test(1);
Но это не подходит для меня, потому что оба метода Test являются общедоступными, и я хочу, чтобы пользователи могли вызывать оба метод?