Compartilhar via


DA0006: Equals () de substituição para tipos de valor

Identificação da regra

DA0006

<strong>Categoria</strong>

.NET Framework uso

Métodos de Profiiling

Amostragem

Message (Mensagem)

Substitua Equals e operador de igualdade com tipos de valor.

Tipo de mensagem

Aviso

Causa

Chamadas para o método Equals ou operadores de igualdade de um tipo de valor público são uma parte significativa dos dados de criação de perfil.Considere a implementação de um método mais eficiente.

Descrição da regra

Para tipos de valor, a implementação de herdadas de Equals usa a System.Reflection biblioteca e compara o conteúdo de todos os campos do tipo.A reflexão é dispendiosa e comparar todos os campos de igualdade talvez seja desnecessário.Se você espera que os usuários para comparar ou classificar instâncias ou usá-los como chaves de tabela de hash, seu tipo de valor deve implementar Equals.Se a sua linguagem de programação oferece suporte a 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 Equals e operadores de igualdade, consulte diretrizes para o operador de igualdade (= =) e a implementação é igual a.

Como investigar um aviso

Para obter um exemplo de implementação de Equals e operadores de igualdade, consulte a regra de análise de códigoÉ igual a do CA1815: Substituição e o operador equals em tipos de valor