C#一个singleton的通用实现

 

public class Singleton<T> where T : new() { public static T Instance { get { return SingletonCreator.instance; } } class SingletonCreator { internal static readonly T instance = new T(); } } 

 

 

使用方法:

Singleton<ClassName>.Instance 就可以拿到单例的实例了。

 

解析:

通过where T : new() 对模板参数T约束了必须有可访问的无参构造函数,以保证SingletonCreator中构造不会出错。

你可能感兴趣的:(C#,Class)