Partilhar via


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.