CA2121: Construtores estáticos devem ser particulares
Item | Valor |
---|---|
RuleId | CA2121 |
Categoria | Microsoft.Security |
Alteração da falha | Quebra |
Causa
Um tipo tem um construtor estático que não é privado.
Observação
Esta regra foi preterida. Para obter mais informações, confira Regras preteridas.
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 que a primeira instância do tipo seja criada ou que outros membros estáticos sejam referenciados. O usuário não tem controle sobre quando o construtor estático é chamado. Se não for privado, um construtor estático poderá ser chamado por um código diferente do sistema. Dependendo das operações realizadas no construtor, isso pode causar um comportamento inesperado.
Essa regra é imposta pelos compiladores C# e Visual Basic.
Como corrigir violações
Violações normalmente são causadas por uma das seguintes ações:
Você definiu um construtor estático para seu tipo e não o tornou privado.
O compilador de linguagem de programação adicionou um construtor estático padrão ao seu tipo e não o tornou privado.
Para corrigir o primeiro tipo de violação, torne seu construtor estático privado. Para corrigir o segundo tipo, adicione um construtor estático privado ao seu tipo.
Quando suprimir avisos
Não suprima essas violações. Se o design do seu software exigir uma chamada explícita para um construtor estático, é provável que o design contenha falhas graves e deva ser revisado.
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários