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

Там какой-либо путь состоит в том, чтобы определить константу для всего пространства имен, а не только в классе? Например:

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

    static class Program
    {
    }
}

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

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

52
задан Paul Michaels 12 May 2010 в 03:46
поделиться

3 ответа

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

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

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

class Program
{
    static void Main()
    {
        Console.WriteLine(GlobalVar.MY_CONST);
    }
}
90
ответ дан 7 November 2019 в 09:17
поделиться

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

Из MSDN:

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

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

11
ответ дан 7 November 2019 в 09:17
поделиться

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

3
ответ дан 7 November 2019 в 09:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: