日期:2014-05-18  浏览次数:20758 次

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’.

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();
        }
    }