C# - Singleton-Muster

Wie Ihr sehen könnt, ist mein Spitzname, ich bin Neuling eigentlich lernen über das Singleton-Muster, habe ich ein problem. Bevor ich gelernt habe, dass statische Konstruktoren werden immer ausgeführt, bevor der standard-Konstruktoren, aber in diesem code das Ergebnis ist anders, ersten sehe ich die "Insta" string-dann wird das "Statische", warum ist es passiert ?

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;

    }

}
  • Verwandte: csharpindepth.com/Articles/General/Singleton.aspx
  • Nicht sicher über die Argumentation Ihrer Erwartung - "static-Konstruktor zuerst aufgerufen" bedeutet nicht "alle code in static-Konstruktor auf Magische Weise ausgeführt, bevor alle Anrufe an die Schüler" (Instanz-Konstruktor in deinem Fall).
Schreibe einen Kommentar