Levée d'événement par reflection
Bonjour,
Je viens vers vous car j'ai un problème que je ne sais résoudre.
J'ai une List<MethodInfo> que j'appelle grâce à un Invoke(), comme ceci.
Code:
1 2 3 4 5 6
|
foreach (var meth in lesMethodesQuilFautInvoker)
{
object[] parameters = { mesParametresDeMethodes };
meth.Invoke(m_handler, parameters);
} |
Ici mesParametresDeMethodes est quelque chose d'arbitraire que j'ai mis pour montrer que ce sont les paramètres. :mouarf:
Chaque méthode est construit de la même façon, et certaines d'entre eux lance des événements, comme ceci :
Code:
TextReceived(null, new TextReceivedEventArgs(text));
Ici j'ai mis un événement TextReceived, mais ça peut être un événement qui porte un nom totalement différent, selon la méthode appelée.
Ma question est, comment m'abonner à cet événement sachant que mon objet "m_handler" est lui aussi créé par reflexion.
Code:
m_handler = (IHandler) Activator.CreateInstance(typeOfTheHandler);
Je ne peux pas faire de m_handler.TextReceived + = laMethode puisque m_handler, au moment de la compilation est un IHandler et c'est au moment de l'exécution qu'il se transformera dans le type d'objet héritant de IHandler.
Comment puis-je capter cet événement ?
Merci beaucoup pour votre aide, là je sèche complètement, :aie: