Quelle est la meilleure façon de mettre en œuvre une constante globale en C#?

J'ai un projet Commun à l'intérieur de laquelle j'ai ajouté ma constantes publiques pour QueryStringNames.

Je sais que généralement les constantes doivent être interne ou privé, mais j'avais besoin de constantes publiques ici, comme je tiens à permettre un accès global à la chaîne de requête noms, les clés de session, etc.

Il y a 3 solutions que je connais, mais tous ont un thème important. L'appelant assemblée contenir la copie de ma constante ce qui signifie que si je dois changer une valeur constante, je vais avoir à compiler mes assemblée Commune, et l'appelant assemblée!

1) public const string ConstName = "a value";
2) public readonly string ConstName = "a value";
3) To be stored in a public resource file.

Quelle serait la meilleure approche pour définir des constantes publiques en C# en dehors de les ranger dans le web.fichier de configuration (qui n'ont pas intellisense)?

Vous pouvez avoir intellisense dans la configuration, si vous créez un bon schéma xsd
Je suis un peu confus. Quel est l'emplacement de stockage de la valeur (c'est à dire webconfig) ont à voir avec la accesability d'une copie de cette valeur en mémoire?
vous avez raison @asawyer; ce qui n'aurait pas résoudre le problème si le nouveau const et readonly sont utilisés.
Je pense que l'OP s point était qu'il ne voulait pas avoir à recompiler toutes les assemblées si elle était dans une config?

OriginalL'auteur The Light | 2011-12-09