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.