【发布时间】:2013-10-07 22:40:08
【问题描述】:
我要声明一个继承泛型类并实现接口的类,例如:
public class SortableObject
{
int compare(SortableObejct obj);
}
public class List<T> where T is class
{
public void add(T obj);
public T peekCurrent();
}
public class SortedList<T> : List<T> where T : SortableObject, SortableObject
{
public override int compare(SortableObejct obj);
}
我希望 SortedList<T> 继承自 List<T> 并从 SortableObject 实现,其中 T 是 SortableObject 的子类。 c# 编译器无法编译此类;在我看来,语法不支持这种情况。
有人遇到过这样的困难并有解决办法吗?
【问题讨论】:
-
你这里没有接口,只有两个父类。 C# 不支持多重继承(从两个或多个父类继承)。
-
我的错,第一个类实际上是一个接口。
标签: c# class generics inheritance implementation