samedi 1 mars 2025

événements

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 Click est déclenché.

  • ⌨️ Tu appuies sur une touche : KeyPressed est déclenché.

  • 🕒 Un timer arrive à zéro : Elapsed est 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

événements Lượt xem: