L'OMI, de l'autre des réponses manquer un détail clé - que les délégués (et, par conséquent, événements) sont immuables. La signification de ceci est que vous abonner ou vous désabonner d'un gestionnaire d'événement n'est pas simplement ajouter/supprimer de la liste plutôt, il remplace la liste avec un nouveau avec un en plus (ou en moins) point sur elle.
Depuis références sont atomiques, cela signifie que, au point de le faire:
var handler = SomeEvent;
vous avez maintenant une rigide instance qui ne peuvent pas changer, même si dans la prochaine picoseconde un autre thread se désinscrit (provoquant l' effectif des champs d'événements deviennent null
).
Afin de tester la valeur null et à l'appeler, et tout est bien. Note bien sûr qu'il y a encore de la confusion scénario de l'événement qui a été soulevée sur un objet qui pense qu'il désabonné une picoseconde il y!