Frage Irgendwelche Nebeneffekte, um den Null-Handler vom Event zu entfernen?


Ich wundere mich, bevor ich den Handler entferne

OnEvent - = Handler;

Müssen wir feststellen, ob der Handler die Null ist oder nicht. Wenn der Handler null ist, gibt es dann einen schlechten Effekt?


5
2018-02-11 10:40


Ursprung


Antworten:


Nein, wenn handler ist null es ist ein no-op ... oder zumindest wird es sein, wenn es ein einfacher Anruf ist Delegate.Removemit folgenden Unterlagen:

Kehrt zurück Quelle ob Wert ist null oder wenn die Aufrufliste von Wert wird nicht in der Aufrufliste von gefunden Quelle.

Jetzt ein tatsächlicher Veranstaltung hat gerade eine "remove" -Methode effektiv ... und das kann mach was du willst. Es wäre ein ziemlich schlecht implementiertes Ereignis, das einen negativen Effekt hatte, wenn es einen Null-Handler übergab, da null in Delegiertenbegriffen effektiv "eine leere Aufrufliste" bedeutet.


4
2018-02-11 10:44



Nein, das ist kein Problem. Es ist so, als würde man ein nicht existierendes Element einer Sammlung entfernen. Nichts passiert.


3
2018-02-11 10:44