CA2226: Os operadores devem ter a sobrecargas simétricas
TypeName |
OperatorsShouldHaveSymmetricalOverloads |
CheckId |
CA2226 |
<strong>Categoria</strong> |
Microsoft.Usage |
Alteração significativa |
Não separável |
Causa
Um tipo implementa a igualdade ou 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.Tipos geralmente implementam o operador de desigualdade, retornando o valor negado do operador de igualdade.
O compilador C# emite um erro quando violações desta regra.
Como corrigir violações
Para corrigir uma violação desta regra, implementar a igualdade e os operadores de desigualdade ou remover aquele que está presente.
Quando suprimir avisos
Não suprimir um aviso da regra.Seu tipo não funcionará de maneira que seja consistente com o .NET Framework.
Regras relacionadas
CA1046: Não sobrecarregar o operador equals em tipos de referência
CA2225: Sobrecargas operador nomeou alternativas
CA2224: É igual a substituição na sobrecarga de operador equals
CA2218: GetHashCode de substituição em substituição Equals
CA2231: Sobrecarga de operador é igual a sobre a anulação de ValueType.Equals