CA1053: os tipos de suporte estático não devem ter construtores
TypeName |
StaticHolderTypesShouldNotHaveConstructors |
CheckId |
CA1053 |
Categoria |
Microsoft.Design |
Alteração Significativa |
Quebra |
Causa
Um público ou um tipo público aninhado declaram apenas membros estáticos e têm um construtor público ou protegido por padrão.
Descrição da Regra
O construtor é desnecessária porque chamar membros estáticos não requer uma instância do tipo.Além disso, como o tipo não tem membros de não estático, criar uma instância não fornece acesso a qualquer um dos membros do tipo.
Como Corrigir Violações
Para corrigir uma violação desta regra, remova o construtor padrão ou faça-o privado.
Observação |
---|
Alguns compiladores criam automaticamente um construtor da opção do utilitário se o tipo não define nenhum construtores.Se esse for o caso com seu tipo, adicione um construtor padrão particular para eliminar a violação. |
Quando Suprimir Alertas
Não elimine um alerta desta regra.A presença do construtor sugere que o tipo não é um tipo estático.
Exemplo
O exemplo a seguir mostra um tipo que viola esta regra.Observe que não há construtor padrão no código-fonte.Quando esse código é compilado em um assembly, o compilador C# inserirá um construtor padrão, que viola esta regra.Para corrigir isso, declarar um construtor privado.
using System;
namespace DesignLibrary
{
public class NoInstancesNeeded
{
// Violates rule: StaticHolderTypesShouldNotHaveConstructors.
// Uncomment the following line to correct the violation.
// private NoInstancesNeeded() {}
public static void Method1() {}
public static void Method2() {}
}
}