原文:
http://www.cnblogs.com/adonio/archive/2007/07/17/821066.html
原文缺点:
构造函数只能是public的,导致可能由开发人员的失误引发多个Instance
改进:用反射调用private的构造函数。
Code
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
public class Singleton<T>
{
public static T Instance
{
get { return SingletonCreator.instance; }
}
class SingletonCreator
{
internal static readonly T instance = (T)Activator.CreateInstance(typeof(T), true);
}
}
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
public class Singleton<T>
{
internal static readonly T instance = (T)Activator.CreateInstance(typeof(T), true);
public static T Instance
{
get { return instance; }
}
}