C# Jak powoływać się na realizację domyślnego interfejsu w klasie autora [duplikat]

0

Pytanie

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.

c# default-implementation interface
2021-11-22 18:03:54
1
-1

trzeba użyć "publiczna override", aby zrobić to, o co prosicie.

2021-11-22 18:23:25

Nie mógłbyś, proszę uzupełnić swoją odpowiedź konkretnym fragmentem kodu i bardziej szczegółowym opisem.
Mario Petrovic

W innych językach

Ta strona jest w innych językach

Русский
..................................................................................................................
Italiano
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................