Les événements (events) sont un concept clé en C# et en programmation orientée objet. C’est ce qui permet à un objet de notifier un autre objet quand quelque chose se passe.
🔔 C’est quoi un événement ?
Un événement, c’est comme une alarme que tu déclenches pour dire :
➡️ “Hé, il vient de se passer ça !”
Un autre morceau de code peut s’abonner à cet événement pour réagir quand il est déclenché.
🎯 Exemple concret dans la vie réelle
-
🔘 Tu cliques sur un bouton : l’événement
Clickest déclenché. -
⌨️ Tu appuies sur une touche :
KeyPressedest déclenché. -
🕒 Un timer arrive à zéro :
Elapsedest déclenché.
⚙️ En C#, comment ça marche ?
1. Déclare un délégué (la "forme" de la fonction de rappel)
public delegate void MonEvenementHandler(string message);
2. Déclare l'événement
public class MaClasse
{
public event MonEvenementHandler QuelqueChoseAFaitBoom;
public void FaireBoom()
{
Console.WriteLine("💥 Boom !");
QuelqueChoseAFaitBoom?.Invoke("Quelque chose a explosé !");
}
}
Le
?.Invoke()veut dire : “S’il y a un abonné, on appelle.”
3. S'abonner à l’événement
var truc = new MaClasse();
truc.QuelqueChoseAFaitBoom += (message) =>
{
Console.WriteLine("Réaction : " + message);
};
truc.FaireBoom();
Sortie :
💥 Boom !
Réaction : Quelque chose a explosé !
🧠 Syntaxe moderne avec EventHandler
Au lieu de créer ton propre délégué, tu peux utiliser le type générique intégré :
public event EventHandler MonEvent;
public event EventHandler<MonEvenementArgs> MonEventAvecInfo;
Avec une classe héritée de EventArgs pour passer des données.
🧩 Résumé
| Élément | Description |
|---|---|
delegate |
Signature de la fonction appelée |
event |
Déclare un événement |
+= |
S'abonner à l’événement |
Invoke() |
Déclencher l’événement |
Aucun commentaire:
Enregistrer un commentaire