Partilhar via


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