Lors du démarrage de mon application, j'ai quelques classes qui sont nécessaires pour lire certains fichiers afin de créer un ensemble de données par défaut.Répondre aux événements de suppression des applications pendant l'initialisation de la classe
L'endroit logique (pour moi) pour faire ceci est dans un constructeur de classe partagé; l'idée serait de lancer un événement de niveau classe si la lecture du fichier par défaut échoue. Malheureusement, cela ne fonctionne pas car tenter d'accéder à un tel événement, afin d'y attacher un gestionnaire, déclenche le constructeur de la classe avant l'événement a été attaché. En cas d'échec, le constructeur démarre, déclenche l'événement fail, le constructeur termine, puis le gestionnaire d'événements est joint, après l'événement a été déclenché.
La seule autre solution que je peux penser est de donner à la classe un « typeInitialisedSuccessfully » propriété booléenne et mettre un bloc try/catch autour chaque appel pour construire une instance de la classe, ce qui semble inutilement kludgey pour moi.
Quelqu'un peut-il suggérer une solution plus élégante? EDIT: Parce que c'est une classe fondamentale, utilisée sous une forme ou une autre dans presque tous nos outils logiciels, je préférerais grandement une solution qui informe les futurs programmeurs que le type initialiser doit être appelé, c'est pourquoi Je suis d'abord allé vers le constructeur partagé comme une solution.