我有一個複雜的問題需要解決。沒有泛型比較
我有一個對象列表,雖然後來列表將填充兩種不同類型的實例。
第一類是MyFirstType<T1, T2>
和第二類是MySecondType<T>
現在我需要,雖然對象列表中運行,並詢問這兩個一個是每個項目。然後我需要在物品上做一些自定義邏輯。
例如:
foreach(object obj in list)
{
if(obj is MyFirstType<T1, T2>)
{
// do something
}
else if(obj is MySecondType<...>)
{
}
}
的問題是T或T1和T2可以是任何類型的讓我怎麼寫出這樣的如果 - 是關鍵字語句如果MyFirstType但不仿製藥裏面,只有comparies? if(obj is MyFirstType<T1, T2>)
不起作用,因爲它需要T1和T2的具體類型。
像剛纔提到的那樣,只需要比較沒有T1和T2。任何想法如何解決這個問題?
http://stackoverflow.com/q/457676 –
這類型檢查幾乎總是採取錯誤方法解決問題的產物;你能否抽象一點,詳細說明實際的任務是什麼以及你如何解決它? –
@AntP謝謝,但不是謝謝問題是我不應該改變我的設計或不。很明顯,問題是什麼。如果你不能解決這個問題,請不要開始討論如何/應該如何做對。 –