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