Compartir a través de


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