我正在学习 Nhibernate 3.0。在其中一个示例代码示例中,它创建了一个抽象基实体类:
public abstract class Entity<T> where T : Entity<T>
然后,使Customer实体从Entity基类继承:
public class Customer : Entity<Customer>
我知道它是一个抽象的泛型类,它使用where关键字来确保类型T是 Entity<T>,这就是我感到困惑的地方。
Customer继承自 " Entity<Customer>",this " Entity<Customer>" 采用 " Customer" as T,但 thisCustomer不是 " Entity<T>"。
请帮助我理解这一点,我真的对这个通用类感到困惑。