Actualización: Julio de 2008
Define un método generalizado, que implementa una clase o tipo de valor con el fin de crear un método específico del tipo para determinar la igualdad de instancias.
Public Interface IEquatable(Of T)
Dim instance As IEquatable(Of T)
public interface IEquatable<T>
generic<typename T> public interface class IEquatable
J# admite el uso de APIs genéricas pero no admite la declaración de nuevas API.
JScript no admite el uso de métodos ni tipos genéricos.
Tipo de objetos que se van a comparar.
Esta interfaz la implementan tipos cuyos valores se pueden igualar (por ejemplo, las clases numéricas y de cadena). Una clase o tipo de valor implementa el método Equals para crear un método específico del tipo que sea adecuado para determinar la igualdad de instancias.
La interfaz IComparable<(Of <(T>)>) define el método CompareTo, que determina el criterio de ordenación de instancias del tipo que se está implementando. La interfaz IEquatable<(Of <(T>)>) define el método Equals, que determina la igualdad de instancias del tipo que se está implementando.
Los objetos de colección genéricos como Dictionary<(Of <(TKey, TValue>)>), List<(Of <(T>)>) y LinkedList<(Of <(T>)>) utilizan la interfaz IEquatable<(Of <(T>)>) al comprobar la igualdad en métodos como Contains, IndexOf, LastIndexOf y Remove. Debe implementarse para cualquier objeto que pudiera estar almacenado en una colección genérica.
Reemplace el parámetro de tipo de la interfaz IEquatable<(Of <(T>)>) con el tipo que esté implementando esta interfaz.
Si implementa IEquatable<(Of <(T>)>), también debe invalidar las implementaciones de la clase base de Object..::.Equals(Object) y GetHashCode para que su comportamiento sea coherente con el del método IEquatable<(Of <(T>)>)..::.Equals. Si invalida el método Object..::.Equals(Object), se llama a su implementación invalidada también en las llamadas al método estático Equals(System.Object, System.Object) en la clase. Esto garantiza que todas las invocaciones del método Equals devuelvan resultados coherentes.
Vea el ejemplo para el método IEquatable<(Of <(T>)>)..::.Equals.
Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile para Smartphone, Windows Mobile para Pocket PC, Xbox 360
Fecha
Historial
Motivo
Julio de 2008
Se ha agregado más información detallada sobre el uso del método.
Mejora de la información.
Se han agregado notas para los implementadores.