Compartilhar via


DA0006: substituir Equals() para tipos de valor

Identificação da Regra

DA0006

Categoria

uso do .NET Framework

Métodos de Profiiling

Preparação de exemplos

Message (Mensagem)

Resultados de substituição e o operador de igualdade em tipos de valor.

Tipo de Mensagem

Aviso

Causa

Chamadas para o método de igual ou operadores de igualdade de um tipo de valor utilitário é uma proporção significativa de dados de perfil.Considere implementar um método mais eficiente.

Descrição da Regra

Para tipos de valor, a implementação herdada de igual usa a biblioteca de System.Reflection e compara o conteúdo de todos os campos no tipo.Reflexão é computacionalmente cara, e comparar cada campo por igualdade pode ser desnecessário.Se você espera que os usuários comparar ou classificar instâncias ou a usar como tabela de hash chaves, seu tipo de valor deve implementar iguais.Se sua linguagem de programação oferece suporte à sobrecarga de operador, você também deve fornecer uma implementação dos operadores de igualdade e desigualdade.

Para obter mais informações sobre como substituir semelhantes e operadores de igualdade, consulte Diretrizes para implementar semelhantes e o operador de igualdade (==).

Como investigar um aviso

Para obter um exemplo da implementação dos resultados e operadores de igualdade, consulte a regra CA1815: substituir igualdades e igualdades de operador em tipos de valorde análise de código