我上过这堂课:
public static class Repository<T> where T : class
{
....
}
我理解public
和static
以及class
和Repository<T>
,但我不理解这一点:
where T : class
Repository
是否正在延伸或实施class
?或者: class
是否会引用<T>
类型?
!! ALSO !!:
而且,如果我有一个抽象基类DataAccessBase
,我希望这个类Repository
继承,我该怎么做?
答案 0 :(得分:3)
我们通过class
作为通用参数将其限制为耗材,而不是与struct
(值类型)一起使用。
如果我们不在class
上应用T
的约束,它也可以与struct
一起使用,此处作者将此通用类限制为可用于使用T
参数,引用类型为class
作为类型参数。
有关详细信息,请参阅MSDN docs on Type Constraint。