J'ai un tas de boutons sur mon formulaire, et à un certain point dans mon code je veux forcer l'événement Click
à tirer. Je pourrais faire quelque chose comme ceci:C#: Comment appeler un événement en utilisant la réflexion?
if (myButton == btnFoo)
btnFoo_Click(this, new EventArgs());
else if (myButton == btnBar)
btnBar_Click(this, new EventArgs());
else if // blah blah
...
De toute évidence, ce n'est pas idéal. Cela ressemble à un cas de réflexion, mais je ne peux pas trouver la bonne méthode pour le faire, par exemple.
var ei = myButton.GetType().GetEvent("Click"); // so far so good;
var mi = ei.GetRaiseMethod(); // always returns null - no good!
Documentation pour GetRaiseMethod. Comment puis-je forcer le code de clic à s'exécuter?
A partir de cette même page. « Cette méthode renvoie null pour les événements déclarés avec le mot-clé événement C# ou le mot-clé Visual Basic Event En effet, le Les compilateurs C# et Visual Basic ne génèrent pas une telle méthode. " –