SingleCriteriaクラスには2つのバージョンがあります: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 ...
}
最初のメソッドはbaseメソッドを呼び出しますが、baseメソッドは実際にはtypeパラメーターに対して何も実行しないことに注意してください。それで、これの全体的なポイントは何でしたか?