我有这个类/接口定义在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()是静态的,不是公共的,或者返回类型错误。
说明:我分开代码继承(类层次结构)和功能实现(接口)。因此,对于实现相同接口的类,访问共享(继承)代码非常方便。