75 votes

Constante d'espace de noms en C #

Est-il possible de définir une constante pour un espace de noms entier, plutôt que dans une classe? Par exemple:

 namespace MyNamespace
{    
    public const string MY_CONST = "Test";

    static class Program
    {
    }
}
 

Donne une erreur de compilation comme suit:

Classe, délégué, énumération, interface ou structure attendue

117voto

RvdK Points 10793

Je crois que ce n'est pas possible. Mais vous pouvez créer une classe avec seulement des constantes.

 public static class GlobalVar
{
    public const string MY_CONST = "Test";
}
 

et ensuite l'utiliser comme

 class Program
{
    static void Main()
    {
        Console.WriteLine(GlobalVar.MY_CONST);
    }
}
 

14voto

Oded Points 271275

Ce n'est pas possible

De MSDN :

Le mot clé const est utilisé pour modifier la déclaration d'un champ ou d'une variable locale.

Comme vous ne pouvez avoir qu'une variable classée ou locale dans une classe, cela signifie que vous ne pouvez pas avoir un const global.

3voto

svinto Points 8601

Non, il n'y en a pas. Mettez-le dans une classe statique ou enum.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X