CA2226: Los operadores deben tener sobrecargar simétricas
Nombre de tipo |
OperatorsShouldHaveSymmetricalOverloads |
Identificador de comprobación |
CA2226 |
Categoría |
Microsoft.Usage |
Cambio problemático |
No |
Causa
Un tipo implementa el operador de igualdad o de desigualdad y no implementa el operador opuesto.
Descripción de la regla
No hay ninguna circunstancia en la que la igualdad o desigualdad sea aplicable a las instancias de un tipo y el operador opuesto sea indefinido. Los tipos normalmente implementan el operador de desigualdad devolviendo el valor negativo del operador de igualdad.
El compilador de C# emite un error para las infracciones de esta regla.
Cómo corregir infracciones
Para corregir una infracción de esta regla, implemente los operadores de igualdad y de desigualdad o quite el que está presente.
Cuándo suprimir advertencias
No suprima las advertencias de esta regla. Su tipo no funcionará de manera coherente con .NET Framework.
Reglas relacionadas
CA1046: No sobrecargar el operador de igualdad en los tipos de referencia
CA2225: Las sobrecargas del operador tienen alternativas con nombre
CA2224: Reemplazar Equals al sobrecargar operadores de igualdad
CA2218: Reemplazar el método GetHashCode al reemplazar el método Equals
CA2231: Sobrecargar el operador de igualdad al reemplazar el tipo de valor de igualdad