我想知道:interface
可以从另一个类继承吗?
我试图让接口继承MarshalByRefObject
。
我的意图是实现接口的所有类也从该类继承。
答案 0 :(得分:7)
不,它不能。
接口只能指定必须实现的其他接口。这是通过使用与继承相同的语法来完成的,但它有所不同。
您可以使用从MarshalByRefObject
继承的抽象类,并且需要实现接口。
根据您需要如何强制执行您的要求,通用约束也可能有所帮助。对于泛型类型参数,您可以设置类约束,例如class Argh<T> where T : MarshalByRefObject, ISomeInterface
。
答案 1 :(得分:3)
接口不能从类继承。为此,C#需要支持当前不支持的多个实现继承。
想象一下,如果您可以从类IMyInterface
派生一个界面MyClass
。然后,当你来声明另一个实现该接口的类时,你必须编写类似的东西:
public class MyImplementingClass: MyBaseClass, IMyInterface
但这意味着实现了多重继承,因为您继承了MyBaseClass
和MyClass
。
答案 2 :(得分:2)
不,但接口可以从其他接口继承。
答案 3 :(得分:2)
不,接口不能有任何实现,因此它不能从类继承。但是,您可以创建一个继承自MarshalByRefObject
。
答案 4 :(得分:2)
没有。类可以实现接口。它不是相反的。