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