6 Stimmen

Konvention für die Auslösemethode von Ereignisbehandlern

Ich war gerade beim Stöbern und bin auf diese Frage gestoßen:

Aktion vs. delegiertes Ereignis

Die Antwort von nobug diesen Code enthalten:

protected virtual void OnLeave(EmployeeEventArgs e) {
  var handler = Leave;
  if (handler != null)
    handler(this, e);
}

Resharper generiert auch ähnlichen Code, wenn Sie den Quick-Fix "create raising method" verwenden.

Meine Frage ist, warum diese Zeile notwendig ist:

var handler = Leave;

Warum ist es besser, als dies zu schreiben?

protected virtual void OnLeave(EmployeeEventArgs e) {
  if (Leave != null)
    Leave(this, e);
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X