Interfaces genéricas
Actualización: noviembre 2007
Este tema contiene información general sobre las interfaces genéricas que proporcionan una funcionalidad común entre las distintas familias de tipos genéricos.
Interfaces genéricas
Las interfaces genéricas son los homólogos con seguridad de tipos de las interfaces no genéricas para las comparaciones de ordenación e igualdad, así como para la funcionalidad que comparten los tipos de colección genéricos.
Comparaciones de igualdad y ordenación
En el espacio de nombres System, las interfaces genéricas System.IComparable<T> e System.IEquatable<T>, como sus homólogos no genéricos, definen métodos para realizar comparaciones de ordenación y comparaciones de igualdad, respectivamente. Los tipos implementan estas interfaces para proporcionar la capacidad para realizar tales comparaciones.
En el espacio de nombres System.Collections.Generic, las interfaces genéricas IComparer<T> e IEqualityComparer<T> proporcionan un medio para definir una comparación de ordenación o igualdad a los tipos que no implementan la interfaz genérica System.IComparable<T> o System.IEquatable<T>, además de proporcionar un medio para redefinir las relaciones de los tipos que sí la implementan. Los métodos y constructores de muchas de las clases de colección genéricas utilizan estas interfaces. Por ejemplo, puede pasar un objeto IComparer<T> genérico al constructor de la clase SortedDictionary<TKey, TValue> para especificar un criterio de ordenación para un tipo que no implemente la interfaz genérica System.IComparable<T>. Hay sobrecargas del método genérico estático Array.Sort y el método de instancia List<T>.Sort para ordenar las matrices y listas mediante las implementaciones genéricas de IComparer<T>.
Las clases genéricas Comparer<T> y EqualityComparer<T> proporcionan clases base para implementaciones de las interfaces genéricas IComparer<T> y IEqualityComparer<T>, además de proporcionar comparaciones predeterminadas de ordenación e igualdad mediante sus respectivas propiedades Comparer<T>.Default y EqualityComparer<T>.Default.
Funcionalidad de colecciones
La interfaz genérica ICollection<T> es la interfaz básica para los tipos de colección genéricos. Proporciona la funcionalidad básica para agregar, quitar, copiar y enumerar elementos. ICollection<T> hereda tanto de IEnumerable<T> genérica como de IEnumerable no genérica.
La interfaz genérica IList<T> extiende la interfaz genérica ICollection<T> con métodos para la recuperación indizada.
La interfaz genérica IDictionary<TKey, TValue> extiende la interfaz genérica ICollection<T> con métodos para la recuperación mediante claves. Los tipos de diccionario genéricos de la biblioteca de clases base de .NET Framework también implementan la interfaz IDictionary no genérica.
La interfaz genérica IEnumerable<T> proporciona una estructura de enumerador genérica. La interfaz genérica IEnumerator<T> implementada por enumeradores genéricos hereda la interfaz IEnumerator no genérica, mientras que los miembros MoveNext y Reset, que no dependen del parámetro de tipo T, sólo aparecen en la interfaz no genérica. Esto significa que cualquier usuario de la interfaz no genérica también puede utilizar la interfaz genérica.
Vea también
Conceptos
Información general sobre los genéricos de .NET Framework
Colecciones genéricas en .NET Framework
Delegados genéricos para manipular matrices y listas
Ventajas y limitaciones de genéricos
Referencia
System.Collections.ObjectModel