首页 > 解决方案 > 无法从派生类中访问接口默认实现方法

问题描述

我正在尝试 C#8 的新功能,我遇到了这个问题。拥有一个带有默认实现方法的接口,我正在定义一个派生类,该类在其中调用所述方法(构造函数或专有方法)。为什么我看不到接口方法?

与默认实现方法的接口

interface IA{
   public void DoStuff()
   {
   }
}

应包含接口方法的派生类

class A:IA
{
   public void DoSomeOtherStuff()
   {
      this.//DoStuff() does not exist !!!
      // I could write like below but it beats the purpose
      // IA a=this;
     //  a.DoStuff()
   }
}

我的问题是,为什么不this被视为遵守接口合同?为什么它无法访问默认的 impl 方法?

标签: interfacec#-8.0default-interface-member

解决方案


推荐阅读