我正在学习 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>
"。
请帮助我理解这一点,我真的对这个通用类感到困惑。