CreateDelegate, delegate et gestion des evenements - C#/.NET managed - Programmation
Marsh Posté le 08-09-2005 à 11:20:07
En poussant un peu le probleme vient de la déclaration de ma fonction "SerialDriver_DataReceived".
J'ai essayé une surcharge de
Code :
|
qui a la place de "this" (instance de la classe contenant la fonction) prend un MethodInfo de la fonction cible.
Ainsi j'ai tenté
Code :
|
Compil Ok, et en compilant le code je m'appercois que mon "inf" ne prends aucune valeur
Pris d'un doute, je déclare donc ma fct "SerialDriver_DataReceived" en "public".
Et là le "inf" est correctement initialisé , mais autre erreur au niveau du CreateDelegate qui demande une fonction static .
Qu'à cela ne tienne, je passe ma fct "SerialDriver_DataReceived" en "public" et "static" .
Mais là, le drame je retombe sur un inf qui ne s'initialise pas
Marsh Posté le 08-09-2005 à 10:05:55
Bonjour à tous
J'ai un petit problème concernant la gestion de delegate sur des eventHandler.
Explication :
Je charge dynamiquement dans un fichier common.cs (classe baseClass) une assembly (chargement dynamique car l'assembly chargée dépendra d'un choix effectué dans baseClass)
Je charge donc le tout :
Je recherche ensuite les méthodes qui m'interessent dans cette assembly, par exemple "write", en spécifiant les parametres de la fonction
Ici, c'est OK. Ca fonctionne, lorsque j'execute le tout ma fonction "Write" pointe bien sur celle de l'assembly.
Maintenant, je veux aussi charger non pas une méthode mais des eventHandler et events.
Et là c'est un échec.
J'ai procédé de manière similaire
Je veux ensuite faire un "AddEventHandler" sur "Evt_RecptHandler".
Les parametres de "AddEventHandler" sont :
- <object target> : source de l'evenement -> je donne en parametre mon "DriverSerie" (voir plus haut)
- <System.Delegate handler> : méthodes qui sont appellées lorsque la cible déclenche l'evenement
J'ai donc un truc du genre :
Et c'est là que le bas blesse, sur ce dernier parametre "handler".
En effet je tente de recuperer mon handler :
Compil ok, mais à l'execution une bien belle exception :"{"Erreur de liaison avec la méthode cible." }"
Voila, si qq a déja trempé dans les delegate et à une idée à ce sujet, je suis prenneur