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#][2.0] Comment supprimer un abonné de la liste d'appel d'un délégué ?


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Août 2006
    Messages
    381
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 381
    Par défaut [C#][2.0] Comment supprimer un abonné de la liste d'appel d'un délégué ?
    Bonjour,

    Soit l'évenement suivant:


    Pour lancer de manière asynchrone l'évenement:
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
                // Parcourt tous les abonnés de la liste
                // et leur envoie l'évenement
                foreach (Delegate deleg in evt.GetInvocationList())
                {
                    EventHandler abonne = (EventHandler)deleg;
                    // Lancement de l'évenement de manière asynchrone
                    abonne.BeginInvoke(this, new EventHandler(), null, null);
                }

    Si l'abonné ne s'est pas correctement désabonné, cela lance une exception, mais l'abonné n'est pas supprimé de la liste d'appel.
    J'aimerais savoir comment supprimer un abonné de la liste d'appel ?

    Merci d'avance.

  2. #2
    Membre Expert Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Par défaut
    Pour ajouter : +=
    Pour enlever : -=

    Y'a plein de cas où c'est pas possible de faire le -= (pask'il faut retenir l'instance du EventHandler)
    Donc dans ce cas je conseille d'utiliser les accesseurs aux évènement.
    Il s'agit de add et remove, qui fonctionnent exactement comme les accesseurs get et set des propriétés.

  3. #3
    Membre éclairé
    Inscrit en
    Août 2006
    Messages
    381
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 381
    Par défaut
    Pour ajouter : +=
    Pour enlever : -=
    Ah ouais quel con.
    Je le sais qu'il faut faire ainsi, mais côté lancement de l'évenement, j'ai cru que c'était différent, je ne sais pas trop pourquoi. Je pense que je vais aller faire une longue sieste, une très longue sieste ... Parce que je fatigue, moi

    Merci bien.

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 17/06/2012, 10h08
  2. Comment supprimer un argument d'une liste ?
    Par jack-ft dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 24/05/2012, 12h33
  3. Réponses: 5
    Dernier message: 13/03/2012, 14h36
  4. Comment supprimer des "0" dans une liste
    Par solorac dans le forum Excel
    Réponses: 4
    Dernier message: 04/09/2007, 12h22
  5. Réponses: 1
    Dernier message: 08/09/2006, 17h21

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