如何使用抽象类需要后代类实现接口?

Gan*_*458 2 c# interface abstract

我想创建一个抽象类,强制限制其子类必须实现一个接口.我想避免在抽象类中实现接口类.下面的代码不会做我想要的.有没有人建议我能做什么?

public interface IItem()
{
     bool IsUsable();
}

public abstract class Item : IItem
{
    MemberVar var;
    public void DoSomething()
    {
        //Do something
    }
}

public class Something : Item
{
     public bool IsUsable()
     {
         return true;
     }
}
Run Code Online (Sandbox Code Playgroud)

xle*_*ier 12

只需abstract在抽象类中创建方法:

public abstract class Item : IItem
{
    //...

    public abstract bool IsUsable();
}
Run Code Online (Sandbox Code Playgroud)

在继承Item该类的类中使用override关键字:

public override bool IsUsable()
{
    // Do stuff
}
Run Code Online (Sandbox Code Playgroud)

VS可以通过右键单击父抽象类并选择Implement Abstract Class以下内容来自动添加覆盖实现存根:

在此输入图像描述