这是什么意思:ClassName <t>其中T:class

时间:2017-08-24 12:51:21

标签: c# .net

我上过这堂课:

public static class Repository<T> where T : class
{
    ....
}

我理解publicstatic以及classRepository<T>,但我不理解这一点:

where T : class

Repository是否正在延伸或实施class?或者: class是否会引用<T>类型?

!! ALSO !!:

而且,如果我有一个抽象基类DataAccessBase,我希望这个类Repository继承,我该怎么做?

1 个答案:

答案 0 :(得分:3)

我们通过class作为通用参数将其限制为耗材,而不是与struct值类型)一起使用。

如果我们不在class上应用T的约束,它也可以与struct一起使用,此处作者将此通用类限制为可用于使用T参数,引用类型为class作为类型参数。

有关详细信息,请参阅MSDN docs on Type Constraint