Je me suis heurté à un problème de conception facile à résoudre mais que je n'ai pas encore rencontré dans ma jeune vie.Délégué appelant dans un constructeur
J'ai une classe qui doit passer par quelques procédures d'installation avant que quoi que ce soit d'autre ne se produise.
Cependant, lors de la construction de cette classe, j'ai dans les paramètres du constructeur un délégué qui peut être passé pour que l'utilisateur puisse ajouter ses propres informations à la classe. Lorsque cette option est appelée, l'étendue qui crée la classe n'a toujours pas d'instance valide et, par conséquent, une erreur d'exception nulle se produit.
Comment puis-je concevoir autour de cela? Devrais-je transmettre une instance de "this" à ce délégué?
Quelle est une bonne décision à prendre ici? J'ai une méthode "StartServices()" où je pourrais facilement mettre l'appel au délégué mais je pense que le design devrait être dans le constructeur.
Merci pour le conseil!
S'il vous plaît ajouter votre code, à cette heure tardive, il est difficile de le visualiser :) –
Pourquoi vous ne pouvez pas simplement appeler des méthodes de classe pour ajouter cette information supplémentaire juste après la création d'une classe? Puisque vous passez un délégué, vous savez sans doute quelles informations devraient être ajoutées au moment de la création. – vava
@ bobber205 - re votre commentaire, il obéit aux règles d'accessibilité normales, ce qui signifie qu'il * peut * accéder privé/protected/interne etc * dans les bonnes circonstances *. –