Vor nicht allzuvielen Minuten, ist mir eine NullReferenceException um die Ohren geflogen und meine erste Reaktion war WTF??!?. Da hatte doch tatsächlich jemand an einem Objekt ein Event implementiert, das ungefähr so ausgesehen haben muss (DON'T):
private void OnEvent() {
Event(this, new EventArgs());
} Was daran falsch ist? Events sind von vorneherein im .NET Framework nie Mandatory (wäre ja auch übel, oder?
), warum dann hier? Schließlich sollte es jeder Anwendung selbst überlassen sein, ob sie auf gewisse Events reagiert oder nicht und dieses Verhalten stellt sich wie gesagt gegen das komplette Framework. Naja ...
Die korrekte Implementierung wäre (DO):
private void OnEvent() {
if (Event != null)
Event(this, new EventArgs());
}Eigentlich geht es noch "korrekter", aber dazu bei Gelegenheit vielleicht mal mehr ...




