J'ai besoin de créer un ensemble de classes statiques et tous ont besoin d'implémenter les mêmes méthodes. Je veux trouver un moyen de les forcer ainsi.Comment forcer une classe statique à implémenter des méthodes spécifiques?
Je comprends que les classes statiques ne peuvent pas dériver autre chose que System.Object. Dois-je utiliser des méthodes non statiques pour cela? Il pourrait être, mais aucune des méthodes de cette classe utilisera des propriétés d'instance ...
Mon meilleur tir est que je devrais utiliser un singleton. Je vais utiliser une instance alors, mais au moins je ne suis pas obligé d'instancier la classe chaque fois que j'ai besoin d'utiliser une méthode.
Quelle est l'alternative que vous suggérez?
EDIT:
Je n'implémenterai pas ces méthodes. J'ai besoin de forcer d'autres développeurs à implémenter des méthodes spécifiques avec des signatures spécifiques. Toutes les signatures sont les mêmes pour chaque classe. C'est tout. Imaginez que vous ayez une classe statique qui récupère les enregistrements d'une base de données dans votre bureau. Vous avez plusieurs méthodes pour le faire. Comme aucune de ces méthodes ne partage les variables, elles sont marquées comme statiques, tout comme la classe. Maintenant, vous et d'autres développeurs de votre équipe devez faire la même chose pour d'autres bases de données ou même des API hors de votre contrôle, cela n'a pas d'importance. Vous voulez forcer vos collègues à implémenter toutes ces classes avec exactement les mêmes méthodes avec les mêmes signatures.
Vos commentaires sont toujours les bienvenus, mais maintenant je veux juste trouver le moyen le plus proche de le faire.
Je pourrais utiliser une classe abstraite dont tous les autres hériteraient. Mais comme ces méthodes ne partagent rien, je préférerais ne pas instancier la classe chaque fois que j'en aurais besoin.
C'est pourquoi j'ai mentionné l'utilisation du motif singleton. Ne devrais-je pas le faire?
Pourquoi avez-vous besoin des classes statiques pour implémenter des méthodes spécifiques? La raison pour laquelle vous avez généralement besoin de méthodes spécifiques pour être présent est d'activer le polymorphisme, c'est-à-dire d'être capable de transmettre des instances de différents types d'objets qui peuvent être traités de la même manière. Un tel concept n'a aucun sens pour les classes statiques car il n'y a pas d'exemples de classes statiques. –
Pouvez-vous expliquer pourquoi vous voulez faire des classes statiques ont tous les mêmes méthodes, il peut aider les autres à donner plus de suggestions. (Pour le moment, je ne peux pas penser pourquoi quelqu'un voudrait faire ça!) – MikeG
@ Mike G ... EXACTEMENT !!!! – IbrarMumtaz