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