C# Cum să referință interfață implicit punerea în aplicare în implementator clasa [duplicat]

0

Problema

Luați în considerare următoarele interfață, cu o implementare implicită de TestMethod

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

De asteptare TestMethod în următoarele clasa va provoca o StackOverflowException:

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

Acum am înțeles de ce este acest lucru, dar există vreo modalitate de a obține în jurul valorii de ea? Ceva de genul base.TestMethod() pentru corelarea unul de clasa este implementat interfețe?

Știu că am putea redenumi metoda în TestInterface și de referință în TestClass acest fel, dar care ar putea cauza probleme pentru alte clase care nu trebuie să referință implicit punerea în aplicare.

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

aveți nevoie pentru a utiliza "public override" de a face ceea ce se cere.

2021-11-22 18:23:25

Ai putea, te rog elaborati raspunsul cu un beton fragment de cod și o descriere mai multe.
Mario Petrovic

În alte limbi

Această pagină este în alte limbi

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