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 10-35 extrait du chapitre Le système de types


Exemple 10-34<     > Exemple 10-36


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


Exemple_10_35.cs
using System;
public class Article {
   public int m_Prix = 0;
   public Article(int prix) { m_Prix = prix; }
   public int IncPrix(int i) {
      m_Prix += i;
      return m_Prix;
   }
}
public class Program {
   public delegate int Deleg(int i);
   public static void Main() {
      // Crée trois articles de prix différents.
      Article a = new Article(100);
      Article b = new Article(103);
      Article c = new Article(107);
      // Assigne 3 méthodes à un même délégué.
      Deleg deleg = a.IncPrix;
      deleg += b.IncPrix;
      deleg += c.IncPrix;
      // Incrémente les trois prix de 20 en un seul appel à deleg.
      int p1 = deleg(20);
      // Ici p1 vaut 127, le prix du dernier article. 
      Console.WriteLine(
         "Prix après incrément de 20: a:{0} b:{1} c:{2}",
         a.m_Prix , b.m_Prix , c.m_Prix);
      // Décrémente les trois prix de 10 en un seul appel à deleg.
      int p2 = deleg(-10);
      // Ici p2 vaut 117, le prix du dernier article.
      Console.WriteLine(
         "Prix après un décrément de 10: a:{0} b:{1} c:{2}",
         a.m_Prix , b.m_Prix , c.m_Prix );
   }
}	
Copyright Patrick Smacchia 2006 2007