Compartir a través de


Los operadores deben tener sobrecargar simétricas

Actualización: noviembre 2007

Nombre de tipo

OperatorsShouldHaveSymmetricalOverloads

Identificador de comprobación

CA2226

Categoría

Microsoft.Usage

Cambio problemático

No problemático

Motivo

Un tipo implementa la igualdad u operador 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

No sobrecargar el operador Equals en tipos de referencia

Las sobrecargas del operador tienen alternativas con nombre

Reemplazar Equals al sobrecargar el operador de igualdad

Reemplazar GetHashCode en el método reemplazable Equals

Sobrecargar el operador de igualdad al invalidar ValueType.Equals