初期化メソッドを持つ静的クラスが与えられた場合:
public static class Foo
{
// Class members...
internal static init()
{
// Do some initialization...
}
}
イニシャライザが前に実行されるようにするにはどうすればよいMain()
ですか?
私が考えることができる最善の方法は、これをに追加することFoo
です:
private class Initializer
{
private static bool isDone = false;
public Initializer()
{
if (!isDone)
{
init();
isDone = true;
}
}
}
private static readonly Initializer initializer = new Initializer();
これは機能しますか、それとも予期しない警告がありますか? そして、これを行うためのより良い方法はありますか?