Interfaces génériques
Mise à jour : novembre 2007
Cette rubrique présente les interfaces génériques offrant des fonctionnalités communes à toutes les familles de types génériques.
Interfaces génériques
Les interfaces génériques fournissent des équivalents de type sécurisé aux interfaces non génériques pour les comparaisons de classement et d'égalité de même que pour les fonctionnalités partagées par les types collection génériques.
Comparaisons d'égalité et de classement
Dans l'espace de noms System, les interfaces génériques System.IComparable<T> et System.IEquatable<T>, à l'instar de leurs équivalents non génériques, définissent des méthodes pour effectuer respectivement des comparaisons de classement et d'égalité. Les types implémentent ces interfaces pour permettre d'effectuer de telles comparaisons.
Dans l'espace de noms System.Collections.Generic, les interfaces génériques IComparer<T> et IEqualityComparer<T> offrent la possibilité de définir une comparaison de classement ou d'égalité pour les types qui n'implémentent pas l'interface générique System.IComparable<T> ou System.IEquatable<T> et permettent de redéfinir ces relations pour les types qui les implémentent. Ces interfaces sont utilisées par des méthodes et des constructeurs de nombreuses classes de collection génériques. Par exemple, vous pouvez passer un objet générique IComparer<T> au constructeur de la classe SortedDictionary<TKey, TValue> afin de spécifier un ordre de tri pour un type qui n'implémente pas l'interface System.IComparable<T> générique. Il existe des surcharges de la méthode statique générique Array.Sort et de la méthode d'instance List<T>.Sort pour trier des tableaux et des listes à l'aide d'implémentations de IComparer<T> génériques.
Les classes génériques Comparer<T> et EqualityComparer<T> fournissent des classes de base pour les implémentations des interfaces génériques IComparer<T> et IEqualityComparer<T>. Elles fournissent des comparaisons de classement et d'égalité par défaut par l'intermédiaire de leurs propriétés Comparer<T>.Default et EqualityComparer<T>.Default respectives.
Fonctionnalités d'une collection
L'interface générique ICollection<T> est l'interface de base pour les types collection génériques. Elle fournit les fonctionnalités de base permettant d'ajouter, de supprimer, de copier et d'énumérer des éléments. ICollection<T> hérite à la fois de l'interface IEnumerable<T> générique et de l'interface IEnumerable non générique.
L'interface générique IList<T> étend l'interface générique ICollection<T> avec des méthodes de récupération indexée.
L'interface générique IDictionary<TKey, TValue> étend l'interface générique ICollection<T> avec des méthodes de récupération de clés. Les types du dictionnaire générique dans la bibliothèque de classes de base du .NET Framework implémentent également l'interface IDictionary non générique.
L'interface générique IEnumerable<T> fournit une structure d'énumérateurs génériques. L'interface générique IEnumerator<T> implémentée par les énumérateurs génériques hérite de l'interface IEnumerator non générique ; les membres MoveNext et Reset qui ne dépendent pas du paramètre de type T apparaissent uniquement sur l'interface non générique. Cela signifie que tout consommateur de l'interface non générique peut également utiliser l'interface générique.
Voir aussi
Concepts
Vue d'ensemble des génériques dans le .NET Framework
Collections génériques dans le .NET Framework
Délégués génériques pour la manipulation de tableaux et de listes
Avantages et limitations des génériques
Référence
System.Collections.ObjectModel