Instanciation et invocation
Contexte : Créez une instance de délégué en référençant une méthode (par son nom ou une expression lambda). Invoquez‑la comme une méthode.
Instanciation
Section intitulée « Instanciation »public delegate void Display(string text);
public static void Show(string msg) => Console.WriteLine(msg);
// Syntaxe ancienne (C# 1.0)Display d1 = new Display(Show);
// Syntaxe simplifiée (C# 2.0+)Display d2 = Show;
// Avec expression lambda (C# 3.0+)Display d3 = (msg) => Console.WriteLine(msg);Invocation
Section intitulée « Invocation »d2("Hello"); // appelle Showd3("World");Vérification null
Section intitulée « Vérification null »Vérifiez toujours la présence de null avant d’invoquer un délégué.
if (d2 != null) d2("Sûr");// Ou avec l’opérateur null‑conditionneld2?.Invoke("Sûr");Exemple d’utilisation dans le monde réel
Section intitulée « Exemple d’utilisation dans le monde réel »Gestionnaires d’événements de bouton : Dans Windows Forms ou WPF, vous instanciez un délégué pour connecter un événement de clic de bouton à une méthode.
Exemple : Dans WinForms, button.Click += new EventHandler(Button_Click); instancie un délégué EventHandler.