2012-11-09 141 views
0

继承这就是我想要做的事:C#泛型:如何申请一个泛型类型约束,从基本类型

DataService<T> where T : SomeType : DataServiceBase 

换句话说,我要介绍一个T,其中它是SOMETYPE的子类。但我也需要DataService从DataServiceBase继承。

看来我可以做一个或另一个,但不是两个,因为有两个冒号使用。换句话说,我可以使用“where:SomeType”的通用选择器,或者如果我不使用它,我可以继承DataServiceBase。但是,如果我这样做,它会产生设计时间错误。

+0

但没有在C#多重继承,也不会'的DataService 其中T:SomeType'暗示'SOMETYPE:DataServiceBase “沿着链条的某个地方呢? – Blindy

回答

0

好,我知道它是这样工作的:

DataService<T> : DataServiceBase where T : SomeType 

格雷格