Attention !

Ce site n'est plus maintenu. Retrouvez l'article sur Colorseeds.net

Vous allez être redirigé dans 5 secondes...

Vous êtes ici : Accueil > Blog technique > C# : Créer

C# : Créer rapidement un événement
27/08/2008

Etapes de création d’un événement customisé complet (C#):

  • 1- DANS LA CLASSE SOULEVANT L’EVENEMENT
  • Delegate :
    public delegate void MonHandler(object sender, MonEventArgs e);
  • L’événement lui-même:
    public event MonHandler On_QuelqueChoseSePassed;
  • Classe "MonEventArgs" :
    public class MonEventArgs : EventArgs
        {
            private int _iInformation1;
            private string _sInformation2;
    
            internal MFluxEventArgs(int iInfo1, string sInfo2)
            {
                _iInformation1 = iInfo1;
                _sInformation2 = sInfo2;
            }
            
            public int Information1
            {
                get { return _iInformation1; }
            }
    
            public string Information2
            {
                get { return _sInformation2; }
            }
        }
    
  • Fonction qui lance l’événement :
            private void FireQuelqueChoseSePassed(MonEventArgs e)
            {
                if (On_QuelqueChoseSePassed != null)
                {
                    On_QuelqueChoseSePassed(this, e);
                }
            }
    
  • Maintenant, dans mon code, je vais avertir quand quelque chose se passe :
    ... FireQuelqueChoseSePassed(new MFluxEventArgs(15, "On est ici")); ...
  • 2- AILLEURS, on souhaite s’abonner à l’événement :
  • On abonne une fonction de la même signature que le delegate :
    MaClasse.On_QuelqueChoseSePassed +=new MaClasse.MonHandler(LaFonctionQuiVaRecevoirLEvent);
  • La fonction abonnée :
    protected void LaFonctionQuiVaRecevoirLEvent(object sender, MonEventArgs e)
    {
    // Ici, on peut utiliser "sender" (objet MaClasse instancié), ou "e" (qui contient un entier et un string...)
    }

Ajouter un commentaire

Auteur


Email


Message *