Подтвердить что ты не робот

Постоянная пространства имен в С#

Есть ли способ определить константу для всего пространства имен, а не только внутри класса? Например:

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

    static class Program
    {
    }
}

Дает ошибку компиляции следующим образом:

Ожидаемый класс, делегат, перечисление, интерфейс или структура

4b9b3361

Ответ 1

Я считаю, что это невозможно. Но вы можете создать класс с только константами.

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

а затем используйте его как

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

Ответ 2

Это невозможно

От MSDN:

Ключевое слово const используется для изменения объявления поля или локальной переменной.

Так как вы можете иметь только поле или локальную переменную внутри класса, это означает, что вы не можете иметь глобальный const. (например, пространство имен const)

Ответ 3

Нет, нет. Поместите его в статический класс или перечисление.