C# でグローバル変数
グローバル変数のスコープを定義するのにpartial クラスを利用する。
そして、全てクラスをpartialクラスの内部クラスとして定義する。
Global.cs
static partial class GlobalScope { static int global_var; }
Foo.cs
static partial class GlobalScope { class Foo { int _foo; public Foo() { _foo = global_var; } } }
Bar.cs
static partial class GlobalScope { class Bar { int _bar; public Bar() { _bar = global_var; } } }