我们在这行代码中告诉编译器究竟是什么?
public abstract class RepositoryBase<T> where T:class
我们是说当我们创建一个继承自RepositoryBase
的对象时,该对象必须在构造函数中使用一个类,否则会出现编译错误?
答案 0 :(得分:3)
这是说当你从RepositoryBase<T>
继承时,你指定的类型T
必须是某种类型的类(或接口等,但不是值类型)。例如RepositoryBase<int>
是非法的,不会编译:请参阅Constraints on Type Parameters (C# Programming Guide)。