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.
Ici mesParametresDeMethodes est quelque chose d'arbitraire que j'ai mis pour montrer que ce sont les paramètres.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 foreach (var meth in lesMethodesQuilFautInvoker) { object[] parameters = { mesParametresDeMethodes }; meth.Invoke(m_handler, parameters); }
Chaque méthode est construit de la même façon, et certaines d'entre eux lance des événements, comme ceci :
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part TextReceived(null, new TextReceivedEventArgs(text));
Ma question est, comment m'abonner à cet événement sachant que mon objet "m_handler" est lui aussi créé par reflexion.
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part m_handler = (IHandler) Activator.CreateInstance(typeOfTheHandler);
Comment puis-je capter cet événement ?
Merci beaucoup pour votre aide, là je sèche complètement,![]()
Partager