J'expérimente l'appel de fonctions déléguées à partir d'un tableau de délégués. J'ai été capable de créer le tableau des délégués, mais comment puis-je appeler le délégué?Delegate Array
public delegate void pd();
public static class MyClass
{
static void p1()
{
//...
}
static void p2()
{
//...
}
//...
static pd[] delegates = new pd[] {
new pd(MyClass.p1),
new pd(MyClass.p2)
/* ... */
};
}
public class MainClass
{
static void Main()
{
// Call pd[0]
// Call pd[1]
}
}
EDIT: La raison du tableau est que je dois appeler les fonctions de délégué par un indice au besoin. Ils ne sont pas exécutés en réponse à un événement. Je vois une erreur critique (stupide) dans mon code car j'ai essayé d'exécuter la fonction déléguée en utilisant le type pd [] plutôt que le nom du tableau (délégués).
Une raison de ne pas être de gérer individuellement les exceptions lancées par l'un des délégués, plutôt que de simplement attraper le premier. –
Selon ma modification, les délégués ne sont pas exécutés en réponse à un événement, mais appelés individuellement en utilisant un index dans le tableau. – pro3carp3
@jacob_c - oui, si vous voulez vraiment :) @ pro3carp3 - dans ce cas vous avez juste besoin d'y accéder par index comme d'habitude pour un tableau. Il n'y a rien de spécial à ce que ce soit un délégué ici. –