J'ai remarqué un comportement intéressant dans notre application .NET WinForms. Nous avons une forme mdi qui a de nombreux enfants mdi ajoutés. Ces formes enfant écoutent un événement "broadcast" qui est essentiellement un appel à se rafraîchir. L'événement est déclaré dans une classe de base et les événements d'écoute sont ajoutés dans les formulaires enfants.Intéressant comportement "Dispose"
J'ai remarqué que même lorsque ces formulaires enfants sont fermés, les événements sont toujours en cours, si l'événement n'est pas explicitement supprimé dans la méthode Dispose().
Quel est le raisonnement derrière cela? Sûrement si le formulaire est fermé, les événements devraient être détachés/éliminés? Est-ce parce que l'événement lui-même est déclaré dans une classe extérieure? C'est ce que je présume.
Un aperçu serait très apprécié.
(en utilisant C#, .NET 3.5)