0

考虑以下接口,默认实现为TestMethod

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

调用TestMethod以下类将导致 StackOverflowException:

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

现在我明白为什么会这样了,但是有什么办法可以绕过它吗?类似于base.TestMethod()引用类的实现接口之一?

我知道我可以重命名 TestInterface 中的方法并以这种方式在 TestClass 中引用它,但这会导致其他不需要引用默认实现的类出现问题。

4

1 回答 1

-1

您需要使用“公共覆盖”来执行您的要求。

于 2021-11-22T18:23:25.220 回答