首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

Thread-safe Singleton Pattern Example in C

2012-08-24 
Thread-safe Singleton Pattern Example in C#?The Singleton pattern is used when you need one, and on

Thread-safe Singleton Pattern Example in C#

?

The Singleton pattern is used when you need one, and only one instance of your class. Sometimes you see this pattern used in cases where the construction of a class is expensive (like a file stream). It can be lazy loaded (at runtime instead of compiletime) and must be thread-safe. The class gets a public method or property named Instance, responsible for creating the Singleton. The constructor of the Singleton class is private, so no one can construct a new instance from the class by applying ‘new’.

Thread-safe Singleton Pattern Example in C

using System;namespace Singleton{    class Program    {        static void Main(string[] args)        {            // Lazy loaded object            // Singleton gets created on first call            Singleton.Instance.SomeProperty = 0;            Singleton.Instance.SomeMethod();        }    }    public class Singleton    {        // Private constructor to prevent 'new'        private Singleton()        {        }        // The instance read only property        public static Singleton Instance        {            get            {                return Nested.instance;            }        }        // Nested class with the actual Singleton object        private class Nested        {            internal static readonly Singleton instance =                new Singleton();            static Nested()            {            }        }        // Additional methods and propeties        public int SomeProperty { get; set; }        public void SomeMethod() { }    }}

热点排行