Sujets C# importants

Les événements (events) en C#

Dans cette leçon, vous allez déclarer un événement, abonner un gestionnaire et déclencher l'événement lors d'un changement.

Introduction

Un événement (event) permet à un objet de prévenir d'autres objets quand quelque chose se produit, selon le modèle éditeur et abonné (publisher/subscriber). C'est un mécanisme familier en programmation d'interfaces, par exemple quand l'utilisateur clique sur un bouton.

La classe Counter déclare l'événement ThresholdReached. Dans Main, l'opérateur += abonne une lambda pour traiter l'événement. Quand ReachThreshold() est appelée, l'opérateur ?. ne déclenche l'événement que s'il y a au moins un abonné. De l'extérieur, on peut seulement s'abonner ou se désabonner : seule la classe Counter peut déclencher l'événement.

Exemple C# exécutable

C#
Exécuter le code →
Program.cs
using System;

class Counter
{
    public event EventHandler? ThresholdReached;
    public void ReachThreshold() => ThresholdReached?.Invoke(this, EventArgs.Empty);
}

class Program
{
    static void Main()
    {
        var counter = new Counter();
        counter.ThresholdReached += (_, _) => Console.WriteLine("Threshold reached");
        counter.ReachThreshold();
    }
}
Résultat de l’exécution
Threshold reached

S'entraîner avec le débogueur

Placez un point d'arrêt sur une affectation ou une condition importante, cliquez sur Debug et inspectez les valeurs locales avant de passer à la ligne suivante.

S'entraîner avec un défi

Utilisez le contenu de cette leçon pour résoudre un vrai problème. Chaque défi s'exécute dans le navigateur, avec des tests instantanés et une revue par l'IA.

Tous les défis