Junior
Que peut contenir un délégué en C#?
sobes.tech IA
Réponse de l'IA
Un délégué en C# est un type qui représente des références à des méthodes avec une signature spécifique (type de retour et types de paramètres). Il peut contenir :
- Référence à une méthode statique :
// Méthode statique public static void StaticMethod(int x) { } // Délégué référant à une méthode statique MyDelegate d = StaticMethod; - Référence à une méthode d'instance :
// Classe avec une méthode d'instance public class MyClass { public void InstanceMethod(int y) { } } // Création d'une instance de la classe MyClass obj = new MyClass(); // Délégué référant à une méthode d'instance MyDelegate d = obj.InstanceMethod; - Liste d'invocation (invocation list) de plusieurs méthodes : Un délégué en C# est en fait multicanal. Il peut contenir des références à plusieurs méthodes. Lorsqu'il est appelé, toutes les méthodes de la liste sont invoquées dans l'ordre de leur ajout.
public delegate void MyDelegate(int value); public static void Method1(int z) { } public static void Method2(int w) { } // Création d'un délégué multicanal MyDelegate multiDelegate = Method1; multiDelegate += Method2; // Ajout d'une deuxième méthode // Appeler le délégué invoque les deux méthodes multiDelegate(10);