Il y a un débat entre les membres de mon équipe sur la déclaration d'une classe Constants. Nous déplaçons les variables constantes dans une classe distincte comme ci-dessous.
public class Constants
{
public const string StateId = "ST";
public const string CountryId = "CI";
}
Quelques membres de mon équipe ont suggéré que nous déclarions la classe comme scellée pour éviter de remplacer l'option, et certains suggèrent que nous la marquions comme statique pour éviter la création d'instance de la classe Constant.
Cependant, je préfère l'avoir comme scellé avec un constructeur statique, car cela nous aidera à initialiser les variables en lecture seule dans le futur. Veuillez nous donner quelques conseils à ce sujet.
static
. Ceci est complètement orthogonal à la présence ou à l'absence d'un constructeur statique.Réponses:
Ce n'est pas tout à fait clair quelle est votre question, mais si les valeurs sont vraiment constantes, je ne vois pas de problème avec l'option simple de:
L'utilisation
static
dans la déclaration de classe signale votre intention aux fins de cette classe.Marc Gravell décrit certains des problèmes potentiels avec les constantes dans cette réponse Stack Overflow . Vous seul saurez s'il s'agit d'un problème dans votre base de code, mais si les valeurs peuvent changer, utilisez
public static readonly
plutôtconst
, sinon tout code faisant référence aux constantes devra être reconstruit si les valeurs changent.la source
const
, le gain de performances ne vaut généralement pas les risques de problèmes potentiels à l'avenir, à mon humble avis. Je préfère utiliser despublic static readonly
variables pour les constantes.