Самый простой способ сделать это - просто иметь public static class Globals
и хранить там все свои глобальные переменные.
Затем во всех ваших файлах вы делаете using static Globals
.(если Globals
существует в пространстве имен, вы должны использовать его полное имя).using static <ClassName>
позволяет вам использовать все статические поля и методы без указания класса, создавая впечатление, что они либо принадлежат текущему классу, либо являются глобальными, например:
public static class Globals
{
public int GlobalInt { get; set; } = 42;
public int GlobalMethod() => 42;
}
Без using static
:
public void Main(string[] args)
{
Console.WriteLine(Globals.GlobalInt);
Console.WriteLine(Globals.GlobalMethod);
}
С using static
:
using static Globals;
public void Main(string[] args)
{
Console.WriteLine(GlobalInt);
Console.WriteLine(Globals.GlobalMethod);
}
При этом, как правило, считается плохой практикой использовать глобальные переменные (поэтому C # не имеетих), как любой класс может изменить его значение, и легко потерять след.Однако с глобальными константами, глобальными readonlys или глобальными свойствами с частными установщиками все в порядке.