如何声明从另一个抽象类继承的抽象泛型类?

时间:2010-12-27 20:17:08

标签: c# generics inheritance

我现在很难接受这个。

我拥有的内容:public abstract class Class1<T> where T : SomeBaseClass, new()

我希望Class1继承自:public abstract class Class2。我怎样才能做到这一点?我可以这样做吗?

3 个答案:

答案 0 :(得分:10)

继承的类位于where clause之前。

public abstract class Class1<T> : Class2 where T : SomeBaseClass, new()

另请参阅Generic Classes上的MSDN页面。

答案 1 :(得分:1)

您只需在模板约束之前放入基类。

public abstract class Class1<T> : Class2 where T : SomeBaseClass, new()

答案 2 :(得分:0)

只需将inheritance子句放在泛型类型约束之前。如果约束在一个单独的行上,它将更具可读性,IMO。

public abstract class Class2
{
}

public abstract class Class1<T> : Class2
    where T : SomeBaseClass, new()
{
}