So erstellen Sie eine Klasse, die nur ein einziges Beispiel in C#
Ich Frage mich, ob es einen Mechanismus oder ein Muster, dass nur eine Instanz einer Klasse in C#. Ich habe von der Singleton
Klasse, aber ich weiß nicht, wie es zu benutzen.
Was wäre, wenn ich hätte n Instanzen der Klasse statt? (Neugier)
InformationsquelleAutor Tom Sarduy | 2011-06-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Singleton, das ist eine Klasse, die erlaubt nur eine einzige Instanz von sich selbst erzeugt werden.
Den Betrieb dieses Muster ist einfach und könnte reduziert werden, um die folgenden:
Ausblenden der Konstruktor der Singleton-Klasse, so dass die Kunden können nicht instanziiert werden.
Zu erklären, dass die Singleton-Klasse private member-variable mit dem Verweis auf die eindeutige Instanz, die wir behandeln.
In der Klasse Singleton eine Funktion oder Eigenschaft, die den Zugriff auf eine gepflegt durch die Singleton-Instanz.
InformationsquelleAutor Ruben Capote
Bitte Lesen Sie unsere eigene Jon Skeet ist blog (Umsetzung des Singleton Pattern in C#).
Absicht Singletom Pattern "sicherstellen, dass eine Klasse nur eine Instanz, und bietet einen globalen Zugriffspunkt für es".
Hier ist, wie Sie es tun können.
Diese Antwort vorausgehen neuere syntax,... aber würde
public static Singleton Instance { get; } = new Singleton();
den trick tun, die Vermeidung derprivate readonly
Feld?InformationsquelleAutor sgokhales
dies kann Probe Singletone-Implementierung
können auf diese Weise verwendet werden
InformationsquelleAutor DeveloperX
Singleton ist keine Klasse, sondern ein Muster.
Hier ist ein Beispiel:
Nicht wirklich.
theOne
privat ist also egal.InformationsquelleAutor Petar Ivanov
Ist eine option, um nur deklarieren Sie eine
static
Klasse mit nurstatic
Mitglieder. Oder Sie implementieren das Singleton-Muster, indem die Klasse eineprivate
Konstruktor:InformationsquelleAutor dahlbyk
hier ist ein einfaches Beispiel für eine singleton-Klasse
hier, Readonly ermöglicht
thread-safety
, und das bedeutet, es kann nurallocated once
. Es hat einepublic static getter
. DieInstance property
ist von Anrufern verwendet, um die singleton Instanz.Sealed
bekannt ist, damit der compiler führen spezielle Optimierungen währendJIT compilation
. Die endgültige oben genannten Methoden sind die private Instanz-Konstruktor und eine Initialize-Methode.Private constructors
bedeuten, kann die Klasseonly allocate itself
.InformationsquelleAutor love Computer science