Partilhar via


CA2121: Construtores estáticos devem ser particulares

TypeName

StaticConstructorsShouldBePrivate

CheckId

CA2121

<strong>Categoria</strong>

Microsoft.Security

Alteração significativa

Quebrando

Causa

Um tipo tem um construtor estático, não é particular.

Descrição da regra

Um construtor estático, também conhecido como um construtor de classe é usado para inicializar um tipo. O sistema chama o construtor estático antes da primeira instância do tipo é criada ou quaisquer membros estáticos são referenciados. O usuário não tem controle sobre quando o construtor estático é chamado. Se um construtor estático não é particular, pode ser chamado pelo código diferente do sistema. Dependendo das operações são executadas no construtor, isso pode causar um comportamento inesperado.

Essa regra é imposta pelo C# e Visual Basic.NET compiladores.

Como corrigir violações

Violações normalmente são causadas por uma das seguintes ações:

  • Definido um construtor estático para o seu tipo e não faz particular.

  • O compilador da linguagem de programação adicionado um construtor estático do padrão para seu tipo e não faz particular.

Para corrigir o primeiro tipo de violação, torne seu construtor estático particulares. Para corrigir o segundo tipo, adicione um construtor estático privado para seu tipo.

Quando suprimir avisos

Não suprimir essas violações. Se o projeto de software requer uma chamada explícita para um construtor estático, é provável que o projeto contém falhas graves e deve ser revisto.