Un événement permet à une classe de notifier que quelque chose d'intéressant se produit. Par exemple, une classe qui encapsule un contrôle d'interface utilisateur peut définir qu'un événement se produise lorsque l'utilisateur clique sur le contrôle. La classe de contrôle ne se soucie pas de ce qui arrive lorsque l'utilisateur clique sur le bouton, mais elle doit signaler aux classes dérivées que l'événement Click a eu lieu. Les classes dérivées peuvent ensuite choisir de quelle manière répondre.
Les événements utilisent des délégués pour fournir l'encapsulation de type sécurisé des méthodes qui seront appelées lors du déclenchement. Un délégué peut encapsuler des méthodes nommées et des méthodes anonymes.
Dans l'exemple suivant, la classe TestButton contient l'événement OnClick. Les classes qui dérivent de TestButton peuvent choisir de répondre à l'événement OnClick, ainsi que définir les méthodes devant être appelées pour gérer l'événement. Plusieurs gestionnaires, sous forme de délégués et de méthodes anonymes, peuvent être spécifiés.
// Declare the handler delegate for the event public delegate void ButtonEventHandler(); class TestButton { // OnClick is an event, implemented by a delegate ButtonEventHandler. public event ButtonEventHandler OnClick; // A method that triggers the event: public void Click() { OnClick(); } }
// Create an instance of the TestButton class. TestButton mb = new TestButton(); // Specify the method that will be triggered by the OnClick event. mb.OnClick += new ButtonEventHandler(TestHandler); // Specify an additional anonymous method. mb.OnClick += delegate { System.Console.WriteLine("Hello, World!"); }; // Trigger the event mb.Click();
Vue d'ensemble des événements
Les événements ont les propriétés suivantes :
-
Un événement permet à une classe de notifier aux objets qu'ils doivent effectuer une action quelconque.
-
L'utilisation la plus commune des événements réside dans les interfaces utilisateur graphiques, bien que des événements puissent être utiles à d'autres moments, comme pour signaler des changements d'état.
-
Les événements sont généralement déclarés à l'aide de gestionnaires d'événements délégués.
-
Les événements peuvent appeler des méthodes anonymes à la place de délégués. Pour plus d'informations sur les méthodes, consultez Méthodes anonymes.
Rubriques connexes
Pour plus d'informations, consultez :
Spécifications du langage C#
Pour plus d'informations, consultez les sections suivantes dans Spécifications du langage C#.
-
1.6.6.4 Événements
-
10.2.7.2 Noms de membres réservés pour les événements
-
10,7 Événements
-
13.2.3 Événements d'interface
Outils (masquer)
S'enregistrer
Liste des Membres
Qui est en ligne?
FAQ