Ich möchte den Event-Handler nur einmal aufrufen und dann trennen. Ich habe versucht zu schreiben:Entfernen eines Handlers beim ersten Aufruf
EventHandler handler = (s, e) =>
{
// Do something
//
// blabla
// Detach the handler
SizeChanged -= handler;
};
SizeChanged += handler;
jedoch auf der SizeChanged -= handler
Linie bekomme ich diesen Fehler
Use of unassigned local variable 'handler'
Haben Sie iDEAD, wie ich vorgehen sollte? Ich habe über die Verwendung eines booleschen Flags nachgedacht, aber ich werde das nur tun, wenn ich keine Möglichkeit finde, den Handler zu lösen.
Wenn Sie das tun, haben Sie null Ref-Ausnahme in Ihrem Rückruf ... –
Nein, versuchen Sie es. Der Handler wird in der Schließung erfasst. – aKzenT
Hey, wähle mich nicht ab, bevor du es probiert hast !!! Lesen Sie weiter, wie Schließungen funktionieren ... – aKzenT