1

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

我试图让接口继承自MarshalByRefObject.

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

4

5 回答 5

7

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

您可以使用抽象类来代替继承MarshalByRefObject并要求实现您的接口。

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

于 2012-05-23T08:41:21.450 回答
3

接口不能从类继承。为了做到这一点,C# 需要支持当前不支持的实现的多重继承。

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

public class MyImplementingClass: MyBaseClass, IMyInterface

但这意味着实现的多重继承,因为您同时继承自MyBaseClassMyClass

于 2012-05-23T08:42:15.697 回答
2

不可以,但是一个接口可以从另一个接口继承。

于 2012-05-23T08:41:26.150 回答
2

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

于 2012-05-23T08:42:46.483 回答
2

不,类可以实现接口。它不是反过来。

  1. 类可以继承类并实现接口。
  2. 接口只能实现接口,不能继承也不能实现类。
于 2012-05-23T08:49:57.207 回答