Там какой-либо путь состоит в том, чтобы определить константу для всего пространства имен, а не только в классе? Например:
namespace MyNamespace
{
public const string MY_CONST = "Test";
static class Program
{
}
}
Дает ошибку компиляции следующим образом:
Ожидаемый класс, делегат, перечисление, интерфейс или структура
Я считаю, что это невозможно. Но вы можете создать класс, содержащий только константы.
public static class GlobalVar
{
public const string MY_CONST = "Test";
}
и затем использовать его как
class Program
{
static void Main()
{
Console.WriteLine(GlobalVar.MY_CONST);
}
}
Это невозможно
Из MSDN:
Ключевое слово const используется для изменения объявления поля или локальной переменной.
Поскольку вы можете иметь поле или локальную переменную только в пределах класса, это означает, что вы не можете иметь глобальную const
. (т.е. пространство имен const)
Нет, не может. Поместите его в статический класс или перечисление.