我有3類:獲取子類類型
class O
{
}
class A : O
{
}
class B : A
{
}
當我打電話給我的代碼:
List<O> myList = new List<O>();
myList.Add(new A());
myList.Add(new B());
foreach (O obj in myList)
{
if (obj is A)
{
// do something
}
else if (obj is B)
{
//do something
}
}
但是我意識到if (obj is A)
將被評估爲true
即使我obj
是的class B
。有沒有辦法來編寫聲明,以便它的計算結果爲true,當且僅當obj
是class B
?
'obj.GetType()== typeof運算(B)' – abatishchev 2015-03-02 05:07:37
只是一個想法鍛鍊,重新排列條件句。最具體到最不具體的。 – 2015-03-02 05:17:56