はい、できます。あなたのコードは完全に有効です。
そうは言っても、初期化の前にそれらが使用およびアクセスされるのを防ぐため、静的コンストラクターまたはインラインで初期化する方がよい場合がよくあります。
あなたの場合、コード(Config.Read
)を実行しているので、これには静的コンストラクターを使用する必要があります。
static Common()
{
TimeOut = Config.Read("timeout");
Name = Config.Read("Name");
}
また、静的な値にはフィールドの代わりにプロパティを使用することをお勧めします。これは、特にAPIの将来を保証するという点で、いくつかの利点があります。これは次のように簡単です。
internal static int TimeOut { get; set; }
internal static string Name { get; set; }
あなたの場合、これらは初期化時に一度読み取られるように見えるので、次を使用することもできます。
internal static int TimeOut { get; private set; }
internal static string Name { get; private set; }