Génériques en C# (Generics) qu'est ce que c'est et à quoi ça sert ?
La définition vous semblera peut être un peu abstraite, mais la suite et les exemples vous permettront de mieux comprendre.
Les génériques sont un concept en C# qui donne la possibilité au développeur:
- d'écrire ses propre interfaces, classes, méthodes, événements et délégués génériques, en spécifiant un type en paramètre et d'obtenir malgré cela des objets fortement typés (lire la suite pour comprendre)
- d'utiliser tout un tas de classes et interfaces génériques déjà définis (et tellement utiles que nous ne pouvons pas nous en passer !) dans le .Net framework (pour être plus précis dans l'espace de nom System.Collections.Generic)
La particularité d'un type générique est de prendre en paramètre un type, on utilise par convention
Mais à quoi ça sert les génériques ?
Utilisons par exemple d'un type générique extrêmement populaire, la classe List
Représente une liste fortement typée d'objets accessibles par index. Fournit des méthodes de recherche, de tri et de manipulation de listes.
c'est donc une sorte de tableau qui pourra contenir des objets (le fameux
var maListeInt = new List();
var maListeVoitures = new List();
dans cet exemple nous avons créé 2 instances de List
maListeInt sera une liste contenant uniquement des int, alors que maListeVoitures sera une liste contenant uniquement des objets voitures. Il sera par exemple impossible d'ajouter des voitures dans maListeInt (et inversement), c'est pourquoi on dit qu'on a ici des listes fortement typées.
Nous avons donc pu ré-utiliser une même classe, la classe générique System.Collections.Generic.List
Liens utiles:
article sur la création de classes génériques - developpez.com
les génériques dans guide de programmation C# - MSDN
video payante in english - Pluralsight