Partager via


Comment : implémenter des accesseurs d'événement personnalisés (Guide de programmation C#)

Un événement est un genre spécial de délégué multicast qui peut être appelé uniquement à partir de la classe dans laquelle il est déclaré. Le code client s'abonne à l'événement en fournissant une référence à une méthode qui doit être appelée lorsque l'événement est déclenché. Ces méthodes sont ajoutées à la liste d'appels du délégué à travers les accesseurs d'événement, qui ressemblent aux accesseurs de propriété mais les accesseurs d'événement sont nommés add et remove. Dans la plupart des cas, vous ne devez pas fournir des accesseurs d'événement personnalisés. Lorsque aucun accesseur d'événement personnalisé n'est fourni dans votre code, le compilateur les ajoute automatiquement. Toutefois, vous devez parfois fournir le comportement personnalisé. Ce genre de cas est illustré dans la rubrique Comment : implémenter des événements d'interface (Guide de programmation C#).

Exemple

L'exemple suivant indique comment implémenter des accesseurs d'événement add et remove. Bien que vous puissiez remplacer tout code à l'intérieur des accesseurs, nous vous recommandons de verrouiller l'événement précédent avant d'ajouter ou de supprimer une nouvelle méthode de gestionnaire d'événements.

event EventHandler IDrawingObject.OnDraw
        {
            add
            {
                lock (PreDrawEvent)
                {
                    PreDrawEvent += value;
                }
            }
            remove
            {
                lock (PreDrawEvent)
                {
                    PreDrawEvent -= value;
                }
            }
        }

Voir aussi

Référence

Événements (Guide de programmation C#)

event (référence C#)