C# Come riferimento di default l'implementazione di un'interfaccia in classe responsabile dell'implementazione [duplica]

0

Domanda

Si consideri il seguente interfaccia, con una implementazione di default TestMethod

public interface TestInterface
{
    public int TestMethod()
    {
        return 15;
    }
}

Chiamata TestMethod nella seguente classe, a causa di un StackOverflowException:

public class TestClass : TestInterface
{
    public int TestMethod()
    {
        return 1 + (this as TestInterface).TestMethod();
    }
}

Ora capisco perché questo è, ma c'è un modo per ottenere intorno ad esso? Qualcosa di simile base.TestMethod() per il riferimento a uno di classe implementato interfacce?

So che potrebbe rinominare il metodo in TestInterface e di riferimento in TestClass in quel modo, ma che potrebbe causare problemi per le altre classi che non hanno bisogno di riferimento per l'implementazione di default.

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

è necessario utilizzare "public override" per fare quello che stai chiedendo.

2021-11-22 18:23:25

La prego di elaborare la tua risposta con un concreto snippet di codice e una descrizione più.
Mario Petrovic

In altre lingue

Questa pagina è in altre lingue

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