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);
}