C# 接口可以是后代吗?

C# 接口可以是后代吗?,c#,C#,我在想:接口能否继承另一个类 我试图让接口继承自MarshalByRefObject 我的意图是实现接口的所有类也从该类继承。不,它不能。 接口只能指定必须实现的其他接口。这是通过使用与继承相同的语法来完成的,但它是不同的 您可以使用从MarshalByRefObject继承并需要实现接口的抽象类 根据您需要如何实施需求,通用约束也可能有所帮助。对于泛型类型参数,可以设置类约束,如class Argh,其中T:MarshalByRefObject,ISomeInterface 不,它不能。 接口

我在想:
接口能否继承另一个类

我试图让接口继承自
MarshalByRefObject

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

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

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

根据您需要如何实施需求,通用约束也可能有所帮助。对于泛型类型参数,可以设置类约束,如
class Argh,其中T:MarshalByRefObject,ISomeInterface

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

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


根据您需要如何实施需求,通用约束也可能有所帮助。对于泛型类型参数,可以设置类约束,如
class Argh,其中T:MarshalByRefObject,ISomeInterface

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

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

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

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

public class MyImplementingClass: MyBaseClass, IMyInterface

但这意味着实现的多重继承,因为您同时继承了
MyBaseClass
MyClass

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

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

public class MyImplementingClass: MyBaseClass, IMyInterface

但这意味着实现的多重继承,因为您同时从
MyBaseClass
MyClass
继承。不,接口不能有任何实现,因此它不能从类继承。但是,您可以创建一个继承自
MarshalByRefObject
抽象类不,接口不能有任何实现,因此它不能继承自类。但是,您可以创建一个继承自
MarshalByRefObject
抽象类。类可以实现接口。不是相反的

  • 类可以继承类并实现接口
  • 接口只能实现接口,但既不能继承也不能实现类

  • 不可以。类可以实现接口。不是相反的

  • 类可以继承类并实现接口
  • 接口只能实现接口,但既不能继承也不能实现类