Syntaxe des classes génériques
Contexte : La syntaxe des classes génériques utilise un ou plusieurs paramètres de type entre chevrons <> après le nom de la classe. Les paramètres de type sont des espaces réservés pour des types réels fournis lors de l’instanciation. On peut également appliquer des contraintes (voir section 11.4) pour restreindre les types autorisés.
Exemple d’utilisation
Section intitulée « Exemple d’utilisation »using System;
// Classe générique avec deux paramètres de typepublic class Paire<T1, T2>{ public T1 Premier { get; set; } public T2 Second { get; set; }
public void Afficher() { Console.WriteLine($"({Premier}, {Second})"); }}
class Program{ static void Main() { Paire<int, string> paire1 = new Paire<int, string>(); paire1.Premier = 10; paire1.Second = "Dix"; paire1.Afficher();
var paire2 = new Paire<double, bool> { Premier = 3.14, Second = true }; paire2.Afficher(); }}Sortie console
Section intitulée « Sortie console »dotnet run(10, Dix)(3.14, True)Remarques importantes
Section intitulée « Remarques importantes »- Le nom de la classe générique peut être utilisé avec différents types.
- L’inférence de type n’est pas possible pour l’instanciation (il faut spécifier les types).
- Les paramètres de type peuvent être utilisés comme types de champs, propriétés, paramètres de méthodes et types de retour.
Exemple d’utilisation dans le monde réel
Section intitulée « Exemple d’utilisation dans le monde réel »KeyValuePair<TKey, TValue> – Utilisé dans Dictionary<TKey, TValue> pour représenter une paire clé/valeur.
Voir documentation .NET sur les génériques.