Evenements .net [Résolu]

Signaler
Messages postés
21
Date d'inscription
vendredi 24 juin 2005
Statut
Membre
Dernière intervention
8 novembre 2006
-
Messages postés
475
Date d'inscription
jeudi 19 juin 2003
Statut
Membre
Dernière intervention
3 novembre 2008
-
Salut tout le monde,

J'ai une question sur les evenements en .net

Est ce qu'il est utile de se désabonner d'un evenement avant de se reabonner dessus?

Si on s'abonne 2 fois de suite sur un evenement, est ce que le second
abonnement sera pris en compte et donc consommera de la memoire ou non?

Merci d'avance

9 réponses

Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
17
si tu tabonnes deux fois a un evenement, ta méthode sera appelée 2 fois. s'abonner a un event, ca veux dire que lorsque l'event doit se déclencher, toutes les méthodes enregistrées aupres de cet event son appelées par le gestionnaire de levent.
Messages postés
475
Date d'inscription
jeudi 19 juin 2003
Statut
Membre
Dernière intervention
3 novembre 2008

Oui,
On se désabonne en changeant le + par un - :D

[:D] @++
Messages postés
21
Date d'inscription
vendredi 24 juin 2005
Statut
Membre
Dernière intervention
8 novembre 2006

J'ai regardé dans la doc de microsoft, mais je n'ai rien trouve a ce sujet
Messages postés
21
Date d'inscription
vendredi 24 juin 2005
Statut
Membre
Dernière intervention
8 novembre 2006

ça veut dire qu'on peut enregisrer la meme methode plusieurs fois?
par exemple :
this.Event += new EventHandler(methode);
this.Event += new EventHandler(methode);
Messages postés
21
Date d'inscription
vendredi 24 juin 2005
Statut
Membre
Dernière intervention
8 novembre 2006

Merci
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
51
Petite remarque qui peut avoir son importance:
Les méthodes ne sont pas forcément appellées dans l'ordre qu'elles ont été ajoutées lors de l'abonnement.

<hr size="2" />-Blog-
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
36
J'aurais dit le contraire.. Dans quel cas as tu vu que les methodes n'étaient  pas appellées dans l'ordre ?
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
51
Il m'a semblé avoir lu ça un jour dans la doc., et apparement ça m'a resté

"La liste d'appel d'un délégué est un ensemble ordonné de délégués dont chaque élément de la liste appelle exactement l'une des méthodes représentées par le délégué. Une liste d'appel peut contenir des méthodes dupliquées. Lors d'un appel, les méthodes sont appelées dans l'ordre dans lequel elles figurent dans la liste d'appel. Un délégué tente d'appeler chaque méthode figurant dans sa liste d'appel. Les méthodes dupliquées sont appelées une fois pour chaque occurrence dans la liste d'appel. Les délégués sont immuables et par conséquent, une fois créée, la liste d'appel d'un délégué ne change pas."

Je devais donc apparement mélanger avec autre chose !
Sorry pour la fausse infos...

<hr size="2" />-Blog-
Messages postés
475
Date d'inscription
jeudi 19 juin 2003
Statut
Membre
Dernière intervention
3 novembre 2008

Mais tu voulais pe dire que les fonctions sur lesquels pointent les événements ne s'execute pas en même temps ? Vu que ce sont des threads séparés, il y a tjrs possiblité qu'une fonction s'execute avant l'autre. Ça dépend de l'humeur de Windows :)

[:D] @++