すべてのクラス (*.cs) がインスタンス参照なしでその内容にアクセスできるように変数を宣言するにはどうすればよいですか?
質問する
456942 次
4 に答える
159
真C#
のグローバル変数を定義することはできません (どのクラスにも属さないという意味で)。
そうは言っても、この機能を模倣するために私が知っている最も簡単なアプローチは、static class
次のように を使用することです。
public static class Globals
{
public const Int32 BUFFER_SIZE = 512; // Unmodifiable
public static String FILE_NAME = "Output.txt"; // Modifiable
public static readonly String CODE_PREFIX = "US-"; // Unmodifiable
}
次に、コード内の任意の場所で定義された値を取得できます (同じ の一部である場合namespace
)。
String code = Globals.CODE_PREFIX + value.ToString();
さまざまな名前空間を処理するには、次のいずれかを実行できます。
Globals
特定のクラスに含めずにクラスを宣言しnamespace
ます (グローバル アプリケーション名前空間に配置されるように)。- 別の から変数を取得するための適切な using ディレクティブを挿入します
namespace
。
于 2013-01-16T21:43:52.223 に答える
81
C# にはグローバル変数のようなものはありません。限目。
必要に応じて、静的メンバーを持つことができます。
public static class MyStaticValues
{
public static bool MyStaticBool {get;set;}
}
于 2013-01-16T21:28:18.033 に答える