IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

[C#] un event peut il appeller deux fois la même methode ?


Sujet :

C#

  1. #1
    Membre actif Avatar de 5:35pm
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2006
    Messages : 201
    Points : 217
    Points
    217
    Par défaut [C#] un event peut il appeller deux fois la même methode ?
    bonjour, question tres rapide:

    si je fait:

    this.monEvent += new monEventHandler(this.maMethode);
    this.monEvent += new monEventHandler(this.maMethode);

    maMethode sera t-elle appellee une ou deux fois?

  2. #2
    Membre habitué Avatar de deeal
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    218
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 218
    Points : 169
    Points
    169
    Par défaut
    salut un petite exemple et t'aurais eu reponse
    tu as defini deux fonction pour repondre a ton event (meme si c'est la meme fonction, le compilateur ne verifie pas que tu associe la meme fonction au delegate) donc reponse : l'event survient une fois (ce qui est normal) et tu as deux fois l'appel de la meme fonction (dans ton cas bien sure)

  3. #3
    Membre actif Avatar de 5:35pm
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2006
    Messages : 201
    Points : 217
    Points
    217
    Par défaut
    je vois... mmm c'est pas au point
    ya t-il un moyen de reinitialiser toutes les fonctions de l'event a zero, de l'exterieur de la classe auquel l'event appartient?
    parce que l'operateur = ne marche que si on l'utilise a l'interieur de la classe...

  4. #4
    Membre habitué Avatar de deeal
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    218
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 218
    Points : 169
    Points
    169
    Par défaut
    je crois que si tu utilises
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    TOnInstance.tonEvent -=new monEventHandler(this.maMethode);
    // tu fais ton traitement
    et apres tu peux le remettre
    sinon j'ai pas compris ta question

  5. #5
    Membre expérimenté Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Points : 1 379
    Points
    1 379
    Par défaut
    Sinon pour info, tu peux définir des accesseurs 'add' et 'remove' à ton Event, exactement comme les acesseurs 'get' et 'set' d'une propriété. Ca peux te permettre de filtrer pour éviter que la même méthode soit associées deux fois à ton évènement.

  6. #6
    Membre habitué Avatar de deeal
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    218
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 218
    Points : 169
    Points
    169
    Par défaut
    Citation Envoyé par Mose
    Sinon pour info, tu peux définir des accesseurs 'add' et 'remove' à ton Event, exactement comme les acesseurs 'get' et 'set' d'une propriété. Ca peux te permettre de filtrer pour éviter que la même méthode soit associées deux fois à ton évènement.
    ah c'est genia cela, je n'ai jamais entendu parler
    je vais remettre ma BDD a jour

  7. #7
    Membre actif Avatar de 5:35pm
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2006
    Messages : 201
    Points : 217
    Points
    217
    Par défaut
    ah oui, ca a l'air sympa
    c'est ce qu'il me faut,
    je vais faire pareil, mettre a jour mes connaissances

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 24/08/2008, 21h45
  2. [PHPLIB] Phplib + firefox => fonctions appelées deux fois
    Par tupac59LC dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 16/02/2008, 01h35
  3. [c# 2.0] ObjectDataSource requête appelée deux fois
    Par tscoops dans le forum ASP.NET
    Réponses: 8
    Dernier message: 24/01/2008, 15h05
  4. Fonction appellé deux fois
    Par stephane92400 dans le forum JSF
    Réponses: 5
    Dernier message: 17/08/2007, 17h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo