Génériques (Guide de programmation C#)
Mise à jour : novembre 2007
Les génériques ont été ajoutés à la version 2.0 du langage C# et du Common Language Runtime (CLR). Les génériques introduisent dans le .NET Framework le concept de paramètres de type, qui rendent possible la réception des classes et des méthodes dont la spécification d'un ou de plusieurs types diffère jusqu'à ce que la classe ou la méthode soit déclarée et instanciée par code client. Par exemple, en utilisant un paramètre T de type générique, vous pouvez écrire une classe unique qu'un autre code client peut utiliser sans induire le coût ou le risque de casts d'exécution ou d'opérations de conversions boxing, comme illustré ici :
// Declare the generic class.
public class GenericList<T>
{
void Add(T input) { }
}
class TestGenericList
{
private class ExampleClass { }
static void Main()
{
// Declare a list of type int.
GenericList<int> list1 = new GenericList<int>();
// Declare a list of type string.
GenericList<string> list2 = new GenericList<string>();
// Declare a list of type ExampleClass.
GenericList<ExampleClass> list3 = new GenericList<ExampleClass>();
}
}
Vue d'ensemble des génériques
Utilisez les types génériques pour optimiser la réutilisation de code, la sécurité du type et les performances.
L'utilisation la plus courante de génériques consiste à créer des classes de collection.
La bibliothèque de classes .NET Framework contient plusieurs nouvelles classes de collection de génériques dans l'espace de noms System.Collections.Generic. Ceux-ci doivent être utilisés chaque fois que possible à la place de classes telles que ArrayList dans l'espace de noms System.Collections.
Vous pouvez créer vos propres interfaces, classes, méthodes, événements et délégués génériques.
Les classes génériques peuvent être contraintes pour activer l'accès aux méthodes sur des types de données particuliers.
Les informations sur les types qui sont utilisés dans un type de données générique peuvent être obtenues par réflexion lors de l'exécution.
Rubriques connexes
Pour plus d'informations
Contraintes sur les paramètres de type (Guide de programmation C#)
Mot clé par défaut dans le code générique (Guide de programmation C#)
Différences entre les templates C++ et les génériques C# (Guide de programmation C#)
Génériques dans la bibliothèque de classes .NET Framework (Guide de programmation C#)
Spécification du langage C#
Pour plus d'informations, consultez Spécifications du langage C#.
Voir aussi
Concepts
Référence
Types (Guide de programmation C#)