Partilhar via


DA0006: Substituir equals () para os tipos de valor

Identificação da regra

DA0006

<strong>Categoria</strong>

.Uso do NET Framework

Métodos de Profiiling

Amostragem

Message (Mensagem)

Substitua Equals e operador de igualdade em 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 perfil. Considere a implementação de um método mais eficiente.

Descrição da regra

Para tipos de valor, a implementação de Equals herdada usa o 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ódigoCA1815: É igual a substituição e o operador equals em tipos de valor