Laden...

[gelöst] Muss man Anonyme Delegaten, Deregistrieren? Geltungsbereich?

Erstellt von Sieben vor 16 Jahren Letzter Beitrag vor 16 Jahren 959 Views
Sieben Themenstarter:in
140 Beiträge seit 2006
vor 16 Jahren
[gelöst] Muss man Anonyme Delegaten, Deregistrieren? Geltungsbereich?

Huhu,

wenn ich an einem Event einen anonymen Delegaten registriere, muss ich diesen dann auch wieder deregistrieren?? Und wenn ja, wie macht man das?


m_Dlg.FormClosing += delegate (Object sender, FormClosingEventArgs e) 
{
  // Tu was anständiges
};

m_Dlg.FormClosing -= delegate (Object sender, FormClosingEventArgs e); // geht nicht

Stirbt in dem Fall auch der anonyme delegate, wenn das Fenster stirbt?

gruß Sieben

Nur die Kogge schwimmt! 😁

467 Beiträge seit 2007
vor 16 Jahren
            this.AutoValidateChanged += delegate(object o, EventArgs e) { o.ToString(); };
            this.AutoValidateChanged -= delegate(object o, EventArgs e) { o.ToString(); };

So geht´s. Ansonsten sind die Dinger ja Annonym. nur mit delegate(object o, EventArgs e) geht es nicht.(zumindest nicht einfach so)

edit: Dieses Event habe ich nur genommen, weil´s früh im Alphabet kommt.

49.485 Beiträge seit 2005
vor 16 Jahren

Hallo Sieben,

merke dir den Delegaten einfach in einer Variable, um ihn später darüber zu deregistrieren.

herbivore

Sieben Themenstarter:in
140 Beiträge seit 2006
vor 16 Jahren

quasi so,


FormClosingEventHandler Handler = delegate (Object sender, FormClosingEventArgs e)
{
  // Tu was anständiges
};

m_Dlg.FormClosing += Handler;

...

m_Dlg.FormClosing -= Handler

das Funktioniert. Danke.

@ANSI_CODE

wäre wohl auch ne Lösung, aber reinster Horror 😉

gruß Sieben

Nur die Kogge schwimmt! 😁