Je ne comprends pas pourquoi nous avons besoin du mot clé "event" pour définir les événements, alors que nous pouvons faire la même chose sans utiliser le mot clé "event", simplement en utilisant les délégués.
par exemple
public delegate void CustomEventHandler(int a, string b);
public event CustomEventHandler customEvent;
customEvent += new CustomEventHandler(customEventHandler);
customEvent(1,"a"); // Raising the event
Ici, si je supprime le mot-clé "event" de la deuxième ligne, je peux également déclencher l'événement en invoquant le délégué. Quelqu'un peut-il me dire pourquoi ce mot clé "event" est nécessaire ?
1 votes
Ok, si vous n'utilisez pas le mot-clé event, toute personne qui peut accéder à cet événement en utilisant l'objet de la classe le met à NULL comme objClass.SelectedIndexChanged = null. cela fera planter votre code sous-jacent. le mot-clé event oblige l'utilisateur à assigner quelque chose de similaire au délégué en utilisant +=.