Compartilhar via


CA2121: Os 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 que 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 realizadas 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:

  • Você definido um construtor estático para o seu tipo e não fazerem isso particular.

  • O compilador da linguagem de programação adicionado um construtor estático do padrão para seu tipo e não fazerem isso 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 revisado.