|
Exemple 13-35 extrait du chapitre
La généricité
Exemple 13-34< > Exemple 13-36
Cet exemple peut être compilé avec la ligne de commande: csc.exe /target:exe Exemple_13_35.cs Erreurs: 1 Avertissements: 0 Remarque:
Exemple_13_35.cs
delegate void GenericDelegateA<U>(U u);
delegate void GenericDelegateB(int i);
delegate U GenericDelegateC<U>();
class Program {
static void Fct1<T>(T t) { return; }
static T Fct2<T>() { return default(T); }
static void Main() {
GenericDelegateA<string> d1 = Fct1; // Le compilateur infére
// Fct1<string>.
GenericDelegateB d2 = Fct1; // Le compilateur infére Fct1<int>.
GenericDelegateC<string> d3 = Fct2<string>; // OK mais pas
// d'inférence.
// Erreur de compilation: The type arguments for
// method 'Program.Fct2<T>()' cannot be inferred from the usage.
GenericDelegateC<string> d4 = Fct2;
}
}
Copyright Patrick Smacchia 2006 2007
|