Ich frage mich, ob ein Objekt auf null Einstellung werden alle Eventhandler bereinigen, die zu den Objekten Ereignisse gebunden sind ...C# Explizit Entfernen von Ereignis-Handlers
z.B.
Button button = new Button();
button.Click += new EventHandler(Button_Click);
button = null;
button = new Button();
button.Click += new EventHandler(Button_Click);
button = null;
etc ...
Wird dies verursacht ein Speicherleck?
Bedeutet dies, dass Ereignisbehandlungsroutinen für Anwendungsleisten nicht explizit entfernt werden müssen (z. B. statechanged)? –
Dies ist eine umgekehrte Situation. AppBar ist ein langlebiges Objekt, und ein Ereignishandler würde das Objekt, auf das sich die Delegierten beziehen, mindestens so lange am Leben halten, wie AppBar am Leben ist, und das könnte nicht passieren. Wenn der Handler andererseits eine Methode für das Fenster ist, das die Leiste besitzt, spielt dies keine Rolle. –