我有一個名爲「ClassA」的超類和兩個子類「Class1」和「Class2」。超類列表中的foreach繼承(子類)對象
我有一個包含「Class1」和「Class2」對象的列表,該列表的類型是「ClassA」。
我想通過在列表中只有「1類」對象環通過執行類似
List<ClassA> AList = new List<ClassA>;
AList.Add(new Class1());
AList.Add(new Class2());
foreach (Class1 c1 in AList)
{
// Do Something
}
,但是當我這樣做,當它到達一個對象的類型是不是代碼拋出一個異常「的Class1 」。
如何以簡單的方式完成此操作,而不必檢查列表中的對象類型,並在它是正確的類型時進行轉換。像這樣:
foreach (ClassA cA in AList)
{
if (cA.GetType() == typeof(Class1))
{
// Do Something
}
}
我必須使用.NET 2.0和不能使用LINQ – Amr 2010-06-09 16:05:34
使用 「方式」 選項即可。 – Meligy 2010-06-09 16:15:53