J'ai un objet avec des gestionnaires d'événements et je veux faire quelque chose de similaire à VB6 pour créer un tableau de cet objet. Quelque chose comme :
MyHandler(object sender, MyEventArgs e, int IndexOfObject)
J'ai un objet avec des gestionnaires d'événements et je veux faire quelque chose de similaire à VB6 pour créer un tableau de cet objet. Quelque chose comme :
MyHandler(object sender, MyEventArgs e, int IndexOfObject)
Il y a quelques petites mises en garde... vous devez vous assurer que la variable que vous utilisez pour passer au gestionnaire ne change pas dans le scope. Cela est dû au fait que C# supporte la fermeture lexicale et utilise les variables par référence (je suis sûr que Jon Skeet pourrait mieux l'expliquer). Il suffit de copier les variables que vous utilisez sinon vous obtiendrez un comportement étrange.
for (int i = 0; i < observed.Length; ++i)
{
int idx = i;
observed[idx].WhateverEvent += delegate(object sender, EventArgs e)
{
MyHandler(sender, e, idx);
};
}
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.