public class ObjectBase<T> : IEntity, IComparable where T : ObjectBase<T>
这里描述的约束为:
ObjectBase<T>这个类,需要实现2个接口:IEntity和IComparable
同时,T应当是继承自ObjectBase<T>的子类。
那么,T本身就嵌套递归声明,只是不知道如何写出这样类型的子类。
[Quote=引用 9 楼 visualbasic2000 的回复:]
如果写成
public class ObjectBase<T> : IEntity, IComparable where T : IEntity, IComparable
编译也没有问题的,但是这样子从理解上说,可能好一点
[/Quote]
不同的。
public class ObjectBase<T> : IEntity, IComparable where T : ObjectBase<T>
这里描述的约束为:
ObjectBase<T>这个类,需要实现2个接口:IEntity和IComparable
同时,T应当是继承自ObjectBase<T>的子类。
那么,T本身就嵌套递归声明,只是不知道如何写出这样类型的子类。