接口可以是后代吗?

时间:2012-05-23 08:39:54

标签: c#

我想知道:interface可以从另一个类继承吗?

我试图让接口继承MarshalByRefObject

我的意图是实现接口的所有类也从该类继承。

5 个答案:

答案 0 :(得分:7)

不,它不能。
接口只能指定必须实现的其他接口。这是通过使用与继承相同的语法来完成的,但它有所不同。

您可以使用从MarshalByRefObject继承的抽象类,并且需要实现接口。

根据您需要如何强制执行您的要求,通用约束也可能有所帮助。对于泛型类型参数,您可以设置类约束,例如class Argh<T> where T : MarshalByRefObject, ISomeInterface

答案 1 :(得分:3)

接口不能从类继承。为此,C#需要支持当前不支持的多个实现继承。

想象一下,如果您可以从类IMyInterface派生一个界面MyClass。然后,当你来声明另一个实现该接口的类时,你必须编写类似的东西:

public class MyImplementingClass: MyBaseClass, IMyInterface

但这意味着实现了多重继承,因为您继承了MyBaseClassMyClass

答案 2 :(得分:2)

不,但接口可以从其他接口继承。

答案 3 :(得分:2)

不,接口不能有任何实现,因此它不能从类继承。但是,您可以创建一个继承自MarshalByRefObject

抽象类

答案 4 :(得分:2)

没有。类可以实现接口。它不是相反的。

  1. 类可以继承类并实现接口。
  2. 接口只能实现接口,但既不能继承也不能实现类。