Feedback

C# - Einfaches Singleton-Pattern

Veröffentlicht von am 18.06.2015
(1 Bewertungen)
Implementierung eines einfaches Singleton-Pattern.
GFU-Schulungen  [Anzeige]

Visual Studio Team Foundation Server 2017/2015 (TFS) - Komplett 

Visual Studio Team Foundation Server 2017/2015 (TFS) für Administratoren - Kompakt

Nach dieser Schulung beherrschen Sie die Grundlagen des TFS. Sie erledigen administrative Aufgaben schnell und sicher.


public sealed class Singleton
{
    private Singleton()
    {}

    // Dein Code hier

    public static Singleton Instance
    { 
        get { return lazy.Value; } 
    }

    private static readonly Lazy<Singleton> lazy = new Lazy<Singleton>(() => new Singleton());
}

Abgelegt unter singleton.

2 Kommentare zum Snippet

Stefan Kern schrieb am 20.06.2015:
Verwende ich auch oft aber braucht man den teil "() => new Singleton()" wirklich?
Koopakiller schrieb am 22.06.2015:
@Stefan
durch die Lazy<T>-Klasse wird die Instanz erst erzeugt wenn man sie braucht. Alternativ könnte man auch im Getter prüfen ob die Instanz null ist und ggf. eine neue erzeugen. Mit der Lazy<T>-Klasse ist es aber etwas moderner. Soweit die allgemeine Theorie.

Wenn man den Parameterlosen Konstruktor aufrufen will kann man den Lambda auch einfach weg lassen. Da hast du recht. Ich halte es trotzdem für erwähnenswert falls man einen nicht parameterlosen Konstruktor oder eine ganz andere Initialisierung einbauen möchte.
 

Logge dich ein, um hier zu kommentieren!