我有一个接口,所以类编写器被迫实现某些方法.我还想允许一些默认的实现方法,所以我创建了一个抽象类.问题是所有类都继承自基类,因此我有一些辅助函数.
我试着写:IClass in with abstract base但是我得到一个错误,基础没有实现接口.当然,因为我想要这个摘要并让用户实现这些方法.作为返回对象,如果我使用base我无法调用接口类方法.如果我使用该接口,我无法访问基本方法.
我如何制作它以便我可以拥有这些帮助类并强制用户实现某些方法?
Mau*_*Mau 15
确保基类中的方法与接口具有相同的名称,并且它们是公共的.另外,将它们设置为虚拟,以便子类可以覆盖它们而不隐藏它们.
interface IInterface {
void Do();
void Go();
}
abstract class ClassBase : IInterface {
public virtual void Do() {
// Default behaviour
}
public abstract void Go(); // No default behaviour
}
class ConcreteClass : ClassBase {
public override void Do() {
// Specialised behaviour
}
public override void Go() {
// ...
}
}
Run Code Online (Sandbox Code Playgroud)