2012-08-01 50 views
1

有兩個版本的SingleCriteria類:SingleCriteria<B, C>SingleCriteria<C>,但似乎第一個兩(2)型參數是沒用的,在代碼中的至少找...CSLA SingleCriteria - 具有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 ... 
} 

請注意,第一個調用基本方法,但基本方法實際上沒有對類型參數執行任何操作。那麼這是什麼意思呢?

+0

它似乎是MobileFormatter使用的構造函數(可能通過反射)。該類型可能僅僅是爲了區分構造函數和它上面的SingleCriteria(C值)。我確信這是一個遺物,因爲仿製藥已經上架並且沒有得到處理。 – 2012-08-04 23:42:14

回答

2

我相信有兩種泛型的人比較老,以前是唯一使用的人。後來的版本刪除了第一種類型的需求,但現有的版本只是爲了向後兼容。

相關問題