Reicht es aus, Methoden nur nach dem Argumentnamen (nicht nach dem Typ) zu unterscheiden, oder ist es besser, ihn expliziter zu benennen?
Zum Beispiel T Find<T>(int id)
vs T FindById<T>(int id)
.
Gibt es einen guten Grund, es expliziter zu benennen (dh hinzuzufügen ById
), anstatt nur den Argumentnamen beizubehalten?
Ein Grund, an den ich denken kann, ist, dass die Signaturen der Methoden gleich sind, aber eine andere Bedeutung haben.
FindByFirstName(string name)
und FindByLastName(string name)
ID
Objekt sein und nicht nur ein int
. Auf diese Weise überprüfen Sie während der Kompilierung, ob Sie in einem Teil Ihres Codes eine ID für ein int oder umgekehrt verwenden. Und damit kannst du find(int value)
und haben find(ID id)
.
T Find<T>(string name)
oder(int size)
wie planen Sie, die unvermeidlichen Probleme zu lösen?