好的,我有一些從基類派生的一些不同的對象,我把它們放在一個列表中。我想遍歷列表並將每個方法推送到一個方法。我對每個人的簽名都有單獨的方法,但編譯器正在抱怨。有人能解釋爲什麼嗎?這是一個使用泛型的機會,如果是這樣,如何?C#派生類,重載決議
class Base { }
class Level1 : Base { }
class Level2 : Level1 { }
...
List<Base> oList = new List<Base>();
oList.Add(new Level1());
oList.Add(new Level2());
...
...
foreach(Base o in oList)
{
DoMethod(o);
}
...
void DoMethod(Level1 item) { }
void DoMethod(Level2 item) { }
我在做什麼錯?
我不確定它很清楚,我認爲如果'DoMethod'實際上是Base,Level1,Level2上的一種方法,那麼會有誤解?你能澄清嗎? – 2010-08-05 20:42:45
@ Will P 對,對不起;我在外部處理對象,因此,不,DoMethod不是這些類的成員。 – 2010-08-05 20:49:32