C# 单例模式

#region 单例模式
/// <summary>
/// 单例同步对象
/// </summary>
private const object m_singltonHelper = new object();

/// <summary>
/// 单例对内句柄
/// </summary>
private static TestClass instance = null;

/// <summary>
/// 构造函数
/// </summary>
private TestClass()
{
}

/// <summary>
/// 单例对外句柄
/// </summary>
public static TestClass Instance
{
    get
    {
        if (null == instance)
        {
            lock (m_singltonHelper)
            {
                if (null == instance)
                {
                    instance = new TestClass();
                }
            }
        }
        return instance;
    }
}

/// <summary>
/// 单例初始化
/// </summary>
public static void CreateInstance()
{
    instance = new TestClass();
}
#endregion

类似文章