开发者

How can I declare an abstract generic class that inherits from another abstract class?

I开发者_StackOverflow中文版'm stumped on this one right now.

What I have: public abstract class Class1<T> where T : SomeBaseClass, new()

I want Class1 to inherit from: public abstract class Class2. How can I do this? Can I do this?


The inherited class comes before the where clause.

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

See also the MSDN page on Generic Classes.


You just put the base class in before the template constraint.

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


Just put the inheritance clause before the generic type constraint. It will be more readable, IMO, if the constraint is on a separate line.

public abstract class Class2
{
}

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜