Home
Browsez les 647 exemples
Téléchargez les 647 exemples
Téléchargez des chapitres
Achetez sur amazon.fr

Niveau: Débutant/Intermédiaire
ISBN-2-84177-339-6
50 Euros

Exemple 14-30 extrait du chapitre Les mécanismes utilisables dans C#


Exemple 14-29<     > Exemple 14-31


Cet exemple peut être compilé avec la ligne de commande:
csc.exe /target:exe Exemple_14_30.cs
Erreurs: 0 Avertissements: 0
Remarque:


Exemple_14_30.cs
delegate void DelegateTypeCompteur();
class CompteurBuilder{
   string m_Name; // Un champ d'instance
   internal CompteurBuilder(string name) { m_Name = name; }
   internal DelegateTypeCompteur BuildCompteur(string compteurName) {
      int compteur = 0;
      DelegateTypeCompteur delegateInstanceCompteur = delegate {
         System.Console.Write(compteurName +(++compteur).ToString());
         // On aurait pu écrire this.m_Name.
         System.Console.WriteLine(" Compteur fabriqué par: "+ m_Name); 
      };
      return delegateInstanceCompteur;
   }
}
class Program {
   static void Main() {
      CompteurBuilder cBuilder1 = new CompteurBuilder("Fabrique1");
      CompteurBuilder cBuilder2 = new CompteurBuilder("Fabrique2");
      DelegateTypeCompteur cA = cBuilder1.BuildCompteur("Compteur A:");
      DelegateTypeCompteur cB = cBuilder1.BuildCompteur("Compteur B:");
      DelegateTypeCompteur cC = cBuilder2.BuildCompteur("Compteur C:");
      cA();  cA ();
      cB();  cB();
      cC();  cC();
   }
}	
Copyright Patrick Smacchia 2006 2007