Compartir a través de


DA0006: Reemplazar Equals() para tipos de valor

Identificador de regla

DA0006

Categoría

Uso de .NET Framework

Métodos de generación de perfiles

Muestreo

Mensaje

Invalida el método Equals y el operador de igualdad en los tipos de valor.

Tipo de mensaje

Advertencia

Motivo

Las llamadas al método Equals o a los operadores de igualdad de un tipo de valor público constituyen una proporción considerable de los datos de generación de perfiles.Puede implementar un método más eficaz.

Descripción de la regla

En los tipos de valor, la implementación heredada de Equals usa la biblioteca System.Reflection y compara el contenido de todos los campos en el tipo.Mediante el cálculo, la reflexión es cara y no es necesario comparar cada campo para comprobar si hay igualdad.Si espera que los usuarios comparen u ordenen instancias, o las usen como claves de tabla hash, el tipo de valor debe implementar Equals.Si su lenguaje de programación admite la sobrecarga de operadores, también debería proporcionar una implementación de la igualdad y operadores de desigualdad.

Para obtener más información acerca de cómo reemplazar Equals y los operadores de igualdad, vea Instrucciones para implementar Equals y el operador de igualdad (==).

Cómo investigar una advertencia

Para obtener un ejemplo sobre cómo implementar Equals y los operadores de igualdad, vea las reglas de análisis de código CA1815: Reemplazar Equals y el operador Equals en los tipos de valor