C# 如何让抽象类要求接口由子类实现?
我想创建一个抽象类,它对其子类必须实现接口施加限制。我希望避免在抽象类中实现接口类。下面的代码不符合我的要求。有人对我能做什么有建议吗C# 如何让抽象类要求接口由子类实现?,c#,interface,abstract,C#,Interface,Abstract,我想创建一个抽象类,它对其子类必须实现接口施加限制。我希望避免在抽象类中实现接口类。下面的代码不符合我的要求。有人对我能做什么有建议吗 public interface IItem() { bool IsUsable(); } public abstract class Item : IItem { MemberVar var; public void DoSomething() { //Do something } } public
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;
}
}
只需在抽象类中使方法
抽象即可:
public abstract class Item : IItem
{
//...
public abstract bool IsUsable();
}
在继承项
类的类中,使用覆盖
关键字:
public override bool IsUsable()
{
// Do stuff
}
VS可以通过右键单击父抽象类并选择实现抽象类
,自动添加覆盖实现存根:
使用抽象方法和/或属性在基类中实现接口只需向接口需要实现的每个方法/属性添加abstract
关键字即可
例如,这就是DoSomething()
方法的外观:
public abstract void DoSomething();
这样,派生类就必须自己实现接口。子代方法必须使用public override bool isavailable(){}我试图编辑这个问题,但仍然认为应该编辑它,因为这个答案并没有完全给出正确答案的代码。