Existe-t-il une règle générale pour quand vous devriez et ne devriez pas avoir une interface générique?Quand ne pas implémenter une interface générique?
Mon exemple est une simple interface de trame de données. Un membre "données utilisateur" permet à l'implémentation d'attacher les données spécifiques à l'implémentation qui doivent être associées à la trame. Je ne sais pas s'il faut le laisser comme un type d'objet (et les obliger à le lancer) ou avoir l'interface générique pour ce seul membre afin que le compilateur puisse attraper une mauvaise utilisation.
S'il devient générique, alors une lignée d'utilisation doit également être générique pour que le type soit transmis sur la ligne (si cela a du sens). Cela semble beaucoup de travail pour ce membre, qui est la base de ma question.
Merci!
Pourquoi auriez-vous besoin de créer une version générique et non générique? Si vous avez besoin d'une version non générique, ne pourriez-vous pas simplement utiliser la version générique mais avec 'object' comme paramètre, par ex. 'Liste
Code plus propre, j'imagine. Beaucoup sinon la plupart des développeurs .NET considèrent que c'est une odeur de code quand 'System.Object' est utilisé comme paramètre de type générique. – Aaronaught
@Mark: La principale raison pour laquelle vous avez souvent besoin d'une interface non générique est que vous pouvez créer des collections qui se réfèrent à l'interface. Les règles pour les génériques vous empêchent de stocker un 'ISomething