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


Exemple 10-35<     > Exemple 10-37


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


Exemple_10_36.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() {
      Article a = new Article(100);
      Article b = new Article(103);
      Article c = new Article(107);
      Deleg delegs = a.IncPrix;
      delegs += b.IncPrix;
      delegs += c.IncPrix;
      int somme = 0;
      // Obtient la liste des délégués.
      Delegate[] delegArr = delegs.GetInvocationList();
      // Invoque une à une chaque méthode référencée.
      foreach (Deleg deleg in delegArr)
         somme += deleg(20);
      Console.WriteLine(
         "Prix après incrément de 20: a:{0} b:{1} c:{2}",
         a.m_Prix , b.m_Prix , c.m_Prix);
      Console.WriteLine("Somme des prix:{0}", somme );      
   }
}	
Copyright Patrick Smacchia 2006 2007