CA2226: Os operadores devem ter 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 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 de violações dessa 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. O tipo não funcionarão de maneira que seja consistente com o .NET Framework.

Regras relacionadas

CA1046: Não sobrecarregar o operador de equals em tipos de referência

CA2225: Sobrecargas de operador nomeou alternativas

CA2224: É igual a substituição na sobrecarga de operador equals

CA2218: Substituir GetHashCode na substituição Equals

CA2231: Sobrecarga de operador equals em substituição a ValueType.Equals