1

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パラメーターに対して何も実行しないことに注意してください。それで、これの全体的なポイントは何でしたか?

4

1 に答える 1

2

ジェネリック型が 2 つある方が古いと思いますが、以前はそれしか使用されていませんでした。後のバージョンでは最初のタイプの必要性がなくなりましたが、既存のものは下位互換性のために残されました。

于 2013-02-12T02:35:38.433 に答える