CA2121: os construtores estáticos devem ser privados
TypeName |
StaticConstructorsShouldBePrivate |
CheckId |
CA2121 |
Categoria |
Microsoft.Security |
Alteração Significativa |
Quebra |
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.As chamadas do sistema o construtor estático antes da primeira instância do tipo seja criada ou todos os membros estáticos são referenciados.O usuário não tem nenhum controle sobre quando o construtor estático é chamado.Se um construtor estático não será privado, pode ser chamado pelo código diferente do sistema.Dependendo das operações que são executadas em construtor, isso pode causar um comportamento inesperado.
Esta regra é imposta pelos compiladores C# e Visual Basic .NET.
Como Corrigir Violações
As violações são normalmente causadas por uma das seguintes ações:
Você definiu um construtor para seu tipo estático e não o fez privado.
O compilador de linguagem de programação adicionou um construtor padrão ao seu tipo estático e não o fez privado.
Para corrigir o primeiro tipo de violação, faça o construtor estático privado.Para corrigir o segundo tipo, adicione um construtor estático privado ao seu tipo.
Quando Suprimir Alertas
Não suprima essas violações.Se seu design de software requer uma chamada explícita para um construtor estático, é provável que o design contém falhas graves e deve ser verificado.