Ich habe festgestellt, interessantes Verhalten in unserer .NET WinForms App. Wir haben eine MDI-Form, die viele MDI-Kinder hinzugefügt hat. Diese untergeordneten Formen hören auf ein "Broadcast" -Ereignis, das im Wesentlichen eine Aufforderung zur Aktualisierung ist. Das Ereignis wird in einer Basisklasse deklariert, und die Listenereignisse werden in den untergeordneten Formularen hinzugefügt.Interessantes Ereignis "Dispose" Verhalten
Ich habe festgestellt, dass selbst wenn diese untergeordneten Formulare geschlossen sind, die Ereignisse immer noch getroffen werden, wenn das Ereignis nicht explizit in der Dispose() -Methode entfernt wird.
Was ist der Grund dafür? Sicher, wenn das Formular geschlossen ist, sollten die Ereignisse getrennt/entsorgt werden? Liegt es daran, dass das eigentliche Ereignis selbst in einer externen Klasse deklariert ist? Das nehme ich an.
Insight würde sehr geschätzt werden.
(mit C#, .NET 3.5)