using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CSharpUtil
{
///
/// 普通单例
///
///
public class Singleton where T : Singleton, new()
{
///
/// 单例
///
private static T m_Instance;
///
/// 实例
///
public static T Instance
{
get
{
if (object.ReferenceEquals(Singleton.m_Instance, null))
{
var obj = new T();
Singleton.m_Instance = obj;
Container.Add(typeof(T).Name, obj);
}
return Singleton.m_Instance;
}
}
#region ' 内部容器 '
static Dictionary _mC;
static Dictionary Container
{
get
{
if (null == _mC)
{
_mC = new Dictionary();
}
return _mC;
}
}
#endregion
}
}