Partilhar via


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