Partilhar via


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

CA1812: Evitar classes internas sem instância

CA1804: Remover variáveis locais não utilizados