我有這個類/接口定義在C#C#繼承保護的方法實現接口
public class FooBase {
...
protected bool Bar() { ... }
...
}
public interface IBar {
bool Bar();
}
現在我想創建FooBase派生的類Foo1實施伊巴爾:
public class Foo1 : FooBase, IBar {
}
有一些類聲明魔術師認爲編譯器將繼承的受保護方法作爲接口的公共可訪問實現?
當然,一個Foo1方法
bool IBar.Bar()
{
return base.Bar();
}
作品。我只是好奇是否有一個快捷方式;)
省略此方法導致編譯器錯誤:Foo1不實現接口成員IBar.Bar()。 FooBase.Bar()是靜態的,不是公共的,或者返回類型錯誤。
說明:我分開代碼繼承(類層次結構)和功能實現(接口)。因此,對於實現相同接口的類,訪問共享(繼承)代碼非常方便。