【发布时间】:2011-12-06 02:31:00
【问题描述】:
我正在学习 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>”,此“Entity<Customer>”将“Customer”作为T,但此Customer 不是“Entity<T>”。
请帮助我理解这一点,我真的被这个泛型类弄糊涂了。
【问题讨论】:
-
如果该示例在网络上某处,您能否提供一个指向您的实际示例的链接?我已经搜索过,但我找不到它。我自己也有这个问题。干杯。
标签: c# nhibernate generics generic-constraints