Compartilhar via


CA1822: marcar membros como estáticos

TypeName

MarkMembersAsStatic

CheckId

CA1822

Categoria

Microsoft.Performance

Alteração Significativa

Interrompendo não - se o membro não é visível fora do assembly, independentemente de alteração você use.Interrompendo não - se você alterar apenas o membro para um membro da instância do com a palavra-chave de this .

Interromper - se você alterar o membro de um membro da instância para um membro estático e é visível fora do assembly.

Causa

Um membro que não acessa dados da instância não está marcado como estático (compartilhada em Visual Basic).

Descrição da Regra

Os membros que não acessam dados da instância ou métodos da instância de chamada podem ser marcados como estático (compartilhada em Visual Basic).Depois que você marca os métodos como estático, o compilador emitirá sites nonvirtual da chamada para esses membros.Emitir sites nonvirtual de chamada impedirá uma verificação em tempo de execução para cada chamada que se certifica de que o ponteiro atual do objeto não é nulo.Isso pode obter um ganho mensurável de desempenho para o código de acentos.Em alguns casos, a falha acessar a instância atual do objeto representa um problema de exatidão.

Como Corrigir Violações

Marcar o membro como estático (ou compartilhado em Visual Basic) ou use “ou”/“i” no corpo do método, se apropriado.

Quando Suprimir Alertas

É seguro suprimir um aviso desta regra para o código anteriormente enviado para a correção será uma alteração.

Regras Relacionadas

CA1811: evitar código privado não chamado

CA1812: evitar classes internas sem instâncias

CA1804: remover locais não usados