You're here: Snippet Directory » Microsoft .NET » C# (33)
Language:

Singleton class

Language: Deutsch
Programming Language: C#
Published by: Cyron
Last Update: 7/23/2006
Views: 776


Description

Der komplette Pattern einer Singleton-Klasse.
Zu einer Singleton-Klasse kann nur ein Objekt instantiiert werden, welches aber globalen Zugriff bietet.

Code

1 public sealed class SingletonClass 2 { 3 private SingletonClass() 4 { 5 } 6 7 private static SingletonClass instance = new SingletonClass(); 8 9 public static SingletonClass Instance 10 { 11 get 12 { 13 if(instance == null) 14 { 15 instance = new SingletonClass(); 16 return instance; 17 } 18 else 19 return instance; 20 } 21 } 22 }

2 comments

1

Hallo,
Im prinzip geht das zwar so, aber nachdem ich in meinem Blog (http://blog.mwiedemeyer.de/PermaLink,guid,70b0cbf8-1694-4716-b228-5c97aa3e7c56.aspx) darüber einmal geschrieben habe, habe ich dazu ein paar Hinweise erhalten. (Unbedingt die Kommentare und den Artikel von Dirk Primps ansehen)
Die "sauberste" (threadsafe) Methode ist diese:
private static readonly SingletonClass instance = new SingletonClass();
Dabei wird der instance Member readonly gemacht und durch static initialisierung ist das Property nur noch in dieser Form nötig:
.. get { return instance; }

Schönen gruß,
marco

Sunday, July 23, 2006 6:34:01 PM from Marco Wiedemeyer
2

Vielen Dank für den Hinweis. Ich werde das in meiner Templatesammlung sofort ändern.

Sunday, July 23, 2006 6:44:24 PM from Cyron

Add a comment

Name *  

Email (won't be displayed) *    

Website  

Comment *  

Sicherheitscode Security Code *    

RSS