event (référence C#)

 

System_CAPS_ICON_note.jpg Remarque

For the latest documentation on C#, visit the C# Guide on docs.microsoft.com.

Le mot clé event est utilisé pour déclarer un événement dans une classe d'éditeur.

L'exemple suivant montre comment déclarer et déclencher un événement qui utilise EventHandler comme type délégué sous-jacent. Pour obtenir l'exemple de code complet qui illustre aussi comment utiliser le type délégué générique EventHandler<TEventArgs> et comment s'abonner à un événement et créer une méthode de gestionnaire d'événements, consultez Comment : publier des événements conformes aux indications du .NET Framework.


    public class SampleEventArgs
    {
        public SampleEventArgs(string s) { Text = s; }
        public String Text {get; private set;} // readonly
    }
    public class Publisher
    {
        // Declare the delegate (if using non-generic pattern).
        public delegate void SampleEventHandler(object sender, SampleEventArgs e);

        // Declare the event.
        public event SampleEventHandler SampleEvent;

        // Wrap the event in a protected virtual method
        // to enable derived classes to raise the event.
        protected virtual void RaiseSampleEvent()
        {
            // Raise the event by using the () operator.
            if (SampleEvent != null)
                SampleEvent(this, new SampleEventArgs("Hello"));
        }
    }

Les événements constituent un type spécial de délégué multicast qui peut uniquement être appelé au sein de la classe ou de la structure où ils sont déclarés (la classe d'éditeur). Si d'autres classes ou structures s'abonnent à l'événement, leurs méthodes de gestionnaire d'événements sont appelées lorsque la classe d'éditeur déclenche l'événement. Pour plus d'informations et d'exemples de code, consultez Événements et Délégués.

Les événements peuvent être marqués comme étant publics, privés, protégés, internes ou protected internal. Ces modificateurs d'accès définissent comment les utilisateurs de la classe peuvent accéder à l'événement. Pour plus d'informations, consultez Modificateurs d'accès.

Les mots clés suivants s'appliquent aux événements.

Mot cléDescriptionPour plus d'informations
staticRend l'événement disponible aux appelants à tout instant, même si aucune instance de la classe n'existe.Classes statiques et membres de classe statique
virtualPermet aux classes dérivées de substituer le comportement de l'événement à l'aide du mot clé override.Héritage
sealedSpécifie que pour les classes dérivées le comportement n'est plus virtuel.
abstractLe compilateur ne génère pas les blocs d'accesseurs d'événement add et remove, et par conséquent, les classes dérivées doivent fournir leur propre implémentation.

Un événement peut être déclaré comme un événement statique à l'aide du mot clé static. Cela rend l'événement disponible aux appelants à tout moment, même si aucune instance de la classe n'existe. Pour plus d'informations, consultez Classes statiques et membres de classe statique.

Un événement peut être marqué comme événement virtuel à l'aide du mot clé virtual. Les classes dérivées peuvent ainsi substituer le comportement de l'événement à l'aide du mot clé override. Pour plus d'informations, consultez Héritage. Un événement qui se substitue à un événement virtuel peut également être sealed, ce qui spécifie que pour les classes dérivées elle n'est plus virtuelle. Enfin, un événement peut être déclaré abstrait, ce qui signifie que le compilateur ne génère pas les blocs d'accesseurs d'événement add et remove. Par conséquent, les classes dérivées doivent fournir leur propre implémentation.

Pour plus d'informations, voir la spécification du langage C#. La spécification du langage est la source de référence pour la syntaxe C# et son utilisation.

Référence C#
Guide de programmation C#
Mots clés C#
ajouter
supprimer
Modificateurs
Comment : combiner des délégués (délégués multicast)

Afficher: