我在 C# 中有这个类/接口定义
public class FooBase {
...
protected bool Bar() { ... }
...
}
public interface IBar {
bool Bar();
}
现在我想创建一个从 FooBase 派生的类 Foo1 实现 IBar:
public class Foo1 : FooBase, IBar {
}
编译器将继承的受保护方法作为接口的可公开访问实现是否存在某种类声明魔法?
当然,一个 Foo1 方法
bool IBar.Bar()
{
return base.Bar();
}
作品。我只是好奇是否有捷径;)
省略此方法会导致编译器错误:Foo1 未实现接口成员 IBar.Bar()。FooBase.Bar() 是静态的,不是公共的,或者返回类型错误。
说明:我将代码继承(类层次结构)和功能实现(接口)分开。因此,对于实现相同接口的类,访问共享(继承)代码非常方便。