EventHandler - Delegate, Remonter des évènements

 


 

Comment faire pour remonter une informations ? Qui ne se pose pas cette question durant la mise en oeuvre d'un projet...

Afin de gagner du temps voilà les quelques lignes nécessaires à la création d'un Handler dans une classe qu'il suffira d'enregistrer l'évènement pour recevoir l'information lorsque nécessaire.

  Déclaration du délégé et du handler dans "MaClass"  
 

public delegate void MessageHandler(String nature, String message);

public static event MessageHandler MessageFire;

 
  La remonté des évènements  
 

public void maMethode() {

  /// Je fais mes traitements

   MessageFire("Erreur","Nature de mon erreur");

}

 

 

Lorsque je veux être informé de tout appel à MessageFire il suffit de s'inscrire au gestionnaire d'évènement précédement déclaré.

  Enregistrement du listener  
 

static void Main(String[] args) {

  MaClass _sample = new MaClass();

 _sample+=new MaClass.MessageHandler(OnMessageFire);

}

 
  Déclaration de la méthode appelée à chaque remonté d'évènements  
 

private static void OnMessageFire(String nature, String msg)

{

  Console.WriteLine("["+nature+"] - ("+msg+")");

}