Глобальные переменные в Visual C # - PullRequest
2 голосов
/ 27 ноября 2009

Как объявить глобальные переменные в Visual C #?

Ответы [ 4 ]

14 голосов
/ 27 ноября 2009

Как насчет этого

public static class Globals {
    public static int GlobalInt { get; set; }
}

Только знайте, что это не безопасно для потоков. Доступ как Globals.GlobalInt

Возможно, это еще одно обсуждение, но в общем случае глобальные переменные не нужны в традиционной разработке ОО. Я хотел бы сделать шаг назад и посмотреть, почему вы думаете, что вам нужна глобальная переменная. Там может быть лучший дизайн.

3 голосов
/ 27 ноября 2009

Публичное статическое поле, вероятно, ближе всего к глобальной переменной

public static class Globals
{
  public static int MyGlobalVar = 42;
}

Однако вы должны стараться по возможности избегать использования глобальных переменных, так как это усложнит вашу программу и затруднит достижение таких вещей, как автоматическое тестирование.

1 голос
/ 27 ноября 2009

Самое ближайшее, что вы можете сделать в C #, - это объявить открытую переменную в открытом статическом классе. Но даже тогда вы должны убедиться, что пространство имен импортировано, и вы указываете имя класса при его использовании.

1 голос
/ 27 ноября 2009

Используйте ключевое слово const:

public const int MAXIMUM_CACHE_SIZE = 100;

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

public class Globals
{
    public const int MAXIMUM_CACHE_SIZE = 100;
}

И у вас есть класс глобальной переменной:)

...