Ok, j'ai quelques objets différents qui sont dérivés d'une classe de base et j'en ai mis beaucoup dans une liste. Je veux parcourir la liste et pousser chacun à une méthode. J'ai des méthodes séparées avec la signature de chaque type, mais le compilateur se plaint. Quelqu'un peut-il expliquer pourquoi? Est-ce une opportunité d'utiliser des génériques, et si oui, comment?Classes dérivées C#, résolution de surcharge
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) { }
Qu'est-ce que je fais mal?
Je ne suis pas sûr que ce soit clair et je pense qu'il y a un malentendu si 'DoMethod' est actuellement une méthode sur Base, Level1, Level2? Pouvez-vous clarifier? –
@Will P Droit, désolé; Je suis en train de traiter les objets en externe, donc, non, les méthodes DoMethod ne sont pas des membres de ces classes. –