CA2226: os operadores devem ter sobrecargas simétricas
TypeName |
OperatorsShouldHaveSymmetricalOverloads |
CheckId |
CA2226 |
Categoria |
Microsoft.Usage |
Alteração Significativa |
Sem Quebra |
Causa
Um tipo implementa o operador de igualdade ou de desigualdade e não implementa o operador oposto.
Descrição da Regra
Não há nenhuma circunstância onde a igualdade ou desigualdade é aplicável às instâncias de um tipo, e o operador oposto é indefinido.Os tipos implementam normalmente o operador de desigualdade retornar o valor negativo do operador de igualdade.
O compilador C# emite um erro para violações desta regra.
Como Corrigir Violações
Para corrigir uma violação desta regra, implemente os operadores de igualdade e de desigualdade, ou remover o que estiver presente.
Quando Suprimir Alertas
Não elimine um alerta desta regra.O tipo não funcionará de um modo que é consistente com .NET Framework.
Regras Relacionadas
CA1046: não sobrecarregar igualdades de operador em tipos de referência
CA2225: as sobrecargas do operador têm alternativas nomeadas
CA2224: substituir igualdades em igualdades de operador de sobrecarga
CA2218: substituir GetHashCode em igualdades de substituição
CA2231: sobrecarregar igualdades de operador em ValueType.Equals substituídos