|
Exemple 13-12 extrait du chapitre
La généricité
Exemple 13-11< > Exemple 13-13
Cet exemple peut être compilé avec la ligne de commande: csc.exe /target:exe Exemple_13_12.cs Erreurs: 0 Avertissements: 0 Remarque:
Exemple_13_12.cs
interface ICompteur{
void Increment();
int Val{get;}
}
struct Compteur : ICompteur {
private int i;
public void Increment() { i++; }
public int Val { get { return i; } }
}
class C<T> where T : ICompteur, new() {
public void Fct(){
T t = new T();
t.Increment(); // Modifie l'état de t.
System.Console.WriteLine( t.Val.ToString() );
// Modifie l'état d'une copie boxée de t.
(t as ICompteur).Increment();
System.Console.WriteLine(t.Val.ToString());
}
}
class Program {
static void Main() {
C<Compteur> c = new C<Compteur>();
c.Fct();
}
}
Copyright Patrick Smacchia 2006 2007
|