私のニックネームからわかるように、私はシングルトン パターンについて実際に学んでいる初心者ですが、ここで 1 つの問題が発生しました。静的コンストラクターは常に標準コンストラクターの前に実行されることを知る前に、以下のコードでは結果が異なります。最初に「Insta」文字列が表示され、次に「Static」が表示されるのはなぜですか?
sealed class Singleton
{
private static readonly Singleton instance;
private Singleton()
{
Console.WriteLine("Insta");
}
static Singleton()
{
instance = new Singleton();
Console.WriteLine("Static");
}
public static Singleton Instance
{
get
{
return instance;
}
}
}
class Program
{
static void Main()
{
Singleton s1 = Singleton.Instance;
}
}