CA1822: Marcar membros como static
TypeName |
MarkMembersAsStatic |
CheckId |
CA1822 |
<strong>Categoria</strong> |
Microsoft.Performance |
Alteração significativa |
Não-separável - se o membro não estiver visível fora do assembly, independentemente da alteração é fazer.Não separável - se alterar apenas o membro para 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 acessar métodos de instância de dados ou chamada de instância não podem ser marcados como estáticos (compartilhado no Visual Basic).Depois de marcar os métodos como estático, o compilador emitirá o site de chamada nonvirtual para esses membros.Emitir chamada nonvirtual sites impedirá que 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 é fundamental.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 método body, se apropriado.
Quando suprimir avisos
É seguro eliminar um aviso esta regra de código lançado anteriormente para o qual a correção seria uma alteração significativa.
Regras relacionadas
CA1811: Evite código particular uncalled