Há um debate entre os membros da minha equipe sobre a declaração de uma classe Constantes. Estamos movendo as variáveis constantes para uma classe separada, como abaixo.
public class Constants
{
public const string StateId = "ST";
public const string CountryId = "CI";
}
Alguns membros da minha equipe sugeriram que declarássemos a classe como selada para evitar a opção de substituição, e alguns estão sugerindo que a marcássemos como estática para evitar a criação de instância da classe Constant.
No entanto, prefiro tê-lo como Sealed com um construtor estático, pois ele nos ajudará a inicializar as variáveis somente leitura em futuras necessidades. Por favor, dê-nos alguns conselhos sobre isso.
static
. Isso é completamente ortogonal à presença ou ausência de um construtor estático.Respostas:
Não está totalmente claro qual é a sua pergunta, mas se os valores forem realmente constantes, não vejo problema com a simples opção de:
O uso
static
na declaração de classe indica sua intenção para o propósito desta classe.Marc Gravell descreve alguns dos possíveis problemas com constantes nesta resposta do Stack Overflow . Somente você saberá se há algum problema na sua base de código, mas se os valores puderem mudar, use em
public static readonly
vez deconst
, caso contrário, qualquer código referente às constantes precisará ser reconstruído se os valores mudarem.fonte
const
, o ganho de desempenho geralmente não vale os riscos de possíveis problemas no futuro, IMHO. Eu prefiro usarpublic static readonly
variáveis para constantes.