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
|