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