CA1822: Membros da marca como estático
TypeName |
MarkMembersAsStatic |
CheckId |
CA1822 |
<strong>Categoria</strong> |
Microsoft.Performance |
Alteração significativa |
Não-separável - se o membro não é visível fora do assembly, independentemente da alteração feitas. Não separável - se você alterar o membro a um membro de instância com o this palavra-chave. Quebrando - se você alterar o membro de um membro de instância para um membro estático e é visível fora do assembly. |
Causa
Um membro que não acessam os dados de instância não está marcado como estático (compartilhado no Visual Basic).
Descrição da regra
Membros que não acessar métodos de instância de dados ou chamada de instância podem ser marcados como estáticos (compartilhado no Visual Basic). Depois de marcar os métodos como estático, o compilador emitirá a sites de chamada nonvirtual para esses membros. Emitir sites de chamada nonvirtual para impedir uma verificação em tempo de execução para cada chamada que certifica-se de que o ponteiro de objeto atual não for nulo. Isso pode obter um ganho de desempenho mensuráveis para o código de desempenho confidenciais. Em alguns casos, a falha para acessar a instância atual do objeto representa um problema de correção.
Como corrigir violações
Marcar o membro como estático (ou compartilhadas em Visual Basic) ou use 'this' / 'Me' no corpo do método, se apropriado.
Quando suprimir avisos
É seguro eliminar um aviso essa regra para que a correção seria uma alteração significativa de código lançado anteriormente.
Regras relacionadas
CA1811: Evite código privado de uncalled