SingleCriteria 类有两个版本:SingleCriteria<B, C>
和SingleCriteria<C>
,但似乎第一个有两(2)个类型参数是没用的,至少看代码......
public class SingleCriteria<B, C> : SingleCriteria<C>
{
public SingleCriteria(C value)
: base(typeof (B), value) { }
protected SingleCriteria() { }
}
public class SingleCriteria<C> : CriteriaBase<SingleCriteria<C>>
{
private C _value;
public C Value { get { return this._value; } }
public SingleCriteria(C value)
{
this._value = value;
}
protected SingleCriteria() { }
protected SingleCriteria(Type type, C value)
{
this._value = value;
}
// etc ...
}
请注意,第一个调用基本方法,但基本方法实际上并没有对类型参数做任何事情。那么这一切的意义何在?