Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Assembly et Event

1 réponse
Avatar
Denis
Bonjour à tous,

Je butte sur un petit problème que j'ai déjà rencontré mais pas moyen de
remettre la main sur la solution.

Voici mon problème:

J'ai une assembly qui génère un événement

public class Notificateur
{

public delegate void NotificateurEventHandler(object sender,
NotificateurCodeErreurArgs codeerreur);
public event NotificateurEventHandler NotificateurErreur;
...............

if (NotificateurErreur != null) NotificateurErreur(this,
NotificateurCodeErreurArgs.CodeInvalide);

}

Ensuite, j'instancie cet objet dans une appli console

notificateur = new Notificateur(args);
notificateur.NotificateurErreur += new
Notificateur.NotificateurEventHandler(notificateur_NotificateurErreur);


Le problème, c'est que l'événement n'est jamais catché dans l'appli console
alors qu'il est bien envoyé par l'assembly.

Si ma mémoire est bonne, il fallait utliser des invoke mais je ne sais plus
du tout comment.

Quelqu'un à la solution sous la main ??

Aloha, 2nis

1 réponse

Avatar
Denis
J'ai trouvé l'origine du problème.
La génération de mon event est dans le constructeur de la classe !!
Cela n'avait rien à voir avec invoke.

"Denis" wrote:

Bonjour à tous,

Je butte sur un petit problème que j'ai déjà rencontré mais pas moyen de
remettre la main sur la solution.

Voici mon problème:

J'ai une assembly qui génère un événement

public class Notificateur
{

public delegate void NotificateurEventHandler(object sender,
NotificateurCodeErreurArgs codeerreur);
public event NotificateurEventHandler NotificateurErreur;
...............

if (NotificateurErreur != null) NotificateurErreur(this,
NotificateurCodeErreurArgs.CodeInvalide);

}

Ensuite, j'instancie cet objet dans une appli console

notificateur = new Notificateur(args);
notificateur.NotificateurErreur += new
Notificateur.NotificateurEventHandler(notificateur_NotificateurErreur);


Le problème, c'est que l'événement n'est jamais catché dans l'appli console
alors qu'il est bien envoyé par l'assembly.

Si ma mémoire est bonne, il fallait utliser des invoke mais je ne sais plus
du tout comment.

Quelqu'un à la solution sous la main ??

Aloha, 2nis