Czy wystarczy, aby metody można było rozróżnić tylko według nazwy argumentu (a nie typu), czy lepiej nazwać ją bardziej jednoznacznie?
Na przykład T Find<T>(int id)
vs T FindById<T>(int id)
.
Czy jest jakiś dobry powód, aby nazwać go bardziej jawnie (tj. Dodając ById
), zamiast utrzymywać tylko nazwę argumentu?
Jednym z powodów, o których mogę myśleć, jest to, że podpisy metod są takie same, ale mają inne znaczenie.
FindByFirstName(string name)
i FindByLastName(string name)
ID
przedmiotem, a nie tylko int
. W ten sposób uzyskaj sprawdzenie czasu kompilacji, czy nie używasz identyfikatora dla int lub viceversa w jakiejś części kodu. I dzięki temu możesz mieć find(int value)
i find(ID id)
.
T Find<T>(string name)
lub(int size)
jak planujesz rozwiązać nieuniknione problemy?