Hier ist eine Implementierung einer Singleton-Klasse in C#, die sicherstellt, dass es im gesamten Programm nur eine Instanz der Klasse gibt.
public class Singleton
{
// Die einzige Instanz der Klasse Singleton
private static Singleton instance;
// Ein privater Konstruktor, um die Instanziierung von außerhalb der Klasse zu verhindern
private Singleton()
{
// Initialisierungscode hier...
}
// Eine statische Methode, um die Instanz des Singletons abzurufen
public static Singleton GetInstance()
{
// Wenn die Instanz noch nicht erstellt wurde, erstelle sie
if (instance == null)
{
instance = new Singleton();
}
// Gib die Instanz zurück
return instance;
}
// Beispielmethoden der Singleton-Klasse
public void DoSomething()
{
Console.WriteLine("Singleton führt eine Aktion aus...");
}
}
Und so verwendest du sie.
class Program
{
static void Main(string[] args)
{
// Zugriff auf die Singleton-Instanz
Singleton singleton1 = Singleton.GetInstance();
singleton1.DoSomething();
// Weitere Versuche, die Instanz zu erhalten, geben die gleiche Instanz zurück
Singleton singleton2 = Singleton.GetInstance();
Console.WriteLine(singleton1 == singleton2); // Output: True, da es sich um dieselbe Instanz handelt
}
}