Rozważmy następujący interfejs z realizacją domyślnie TestMethod
public interface TestInterface
{
public int TestMethod()
{
return 15;
}
}
Woła TestMethod
w następnej klasie spowoduje wyjątek StackOverflowException:
public class TestClass : TestInterface
{
public int TestMethod()
{
return 1 + (this as TestInterface).TestMethod();
}
}
Teraz rozumiem, dlaczego tak jest, ale czy jest jakiś sposób aby to obejść? Coś takiego base.TestMethod()
dla łącza na jednym z realizowanych interfejsów klasy?
Wiem, że mógłbym zmienić nazwę metody w TestInterface i odwoływać się do niego w ten sposób w TestClass, ale to spowodowało problemy dla innych klas, których nie trzeba powoływać się na realizację domyślnie.