Bonjour,
Je suis debutant en C#, merci de votre indulgence si ma question est triviale.
J'ai lu dans mon manuel de C# (C# in a nutshell) qu'une classe peut avoir plusieurs methodes de meme nom tant que leurs arguments sont de types differents (chaque methode ayant donc une signature unique puisqu'une signature de methode est definie par le couple Nom + Type des arguments)
On appelle cela la surcharge de methode.
J'imagine que c'est ce qui se passe par exemple pour la methode Console.WriteLine qui peut etre utilisee avec des arguments de type varies(Objet, Char, Decimal etc...). On a donc pas besoin d'appeler une methode differente pour chaque type different...
Pensez vous que l'implementation de Console.WriteLine est bien ainsi faite (je ne pense pas qu'on puisse trouver le code source) ? Y a t'il d'autres facon d'implementer une methode qui puisse etre utilisee avec des parametres de type varies ? Je pensais a une implementation de methode qui prenne par exemple un argument de type 'var' (donc indefini) et qui en interne ferait des tests sur le type du parametre avec des typeof ou GetType pour ensuite, en fonction, retourner qqchose. Ca ne serait plus de la surcharge de methode puisqu'en interne je n'aurais qu'une seule methode definie avec un seule type - tres general- d'argument.
Quelle est la soluation d'implementation la plus standard/recommendee/intelligente... ?
Merci !
Partager