Singleton code snippet

Description

Cette source est un Code snippet pour Visual Studio 2005 permettant d'implémenter un singleton.

Le code snippet va créer la classe, accessible par une propriété (publique) Instance.

Remarque : Cette implémentation de singleton est "thread safe".

Source / Exemple :


/// <summary>
    /// Singleton.
    /// </summary>
    sealed class ClassName
    {
        #region ClassName Singleton
        /// <summary>
        /// Unique instance of ClassName
        /// </summary>
        private static volatile ClassName instance = null;

        /// <summary>
        /// Synchronization's object
        /// </summary>
        private static object syncRoot = new Object();

        /// <summary>
        /// Get the unique instance of ClassName
        /// </summary>
        public static ClassName Instance
        {
            get
            {
                // Quick test
                if (instance == null)
                {
                    lock (syncRoot)
                    {
                        // Thread safe test
                        if (instance == null)
                        {
                            // First call, create the instance
                            instance = new ClassName();
                        }
                    }
                }
                return (instance);
            }
        }
        #endregion // ClassName Singleton

        /// <summary>
        /// Private constructor of the singleton
        /// </summary>
        private ClassName()
        {
        }
    }

Conclusion :


Pour "installer" ce code snippet dans Visual Studio :

- Menu Tools, puis "Code Snippets Manager".
Il suffit ensuite d'importer le fichier founit dans cette source.

Pour utiliser le code snippet :
- Dans l'éditeur de code, taper "Singleton", puis appuyer sur <Tab>.
- Remplacer ClassName par le nom de votre classe singleton, puis appuyer sur <Entrée>.

Un lien utile, pour créer/éditer des code snippets avec Snippy :
http://www.gotdotnet.com/codegallery/codegallery.aspx?id=b0813ae7-466a-43c2-b2ad-f87e4ee6bc39

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.