代码如下:
publicclassSingleton<T>whereT :class{PRivatestaticT _instance;privatestaticreadonlyobject_lock =newobject();publicstaticT Instance
{get{if(_instance ==null)
{lock(_lock)
{if(_instance ==null)
{
_instance= (T)Activator.CreateInstance(typeof(T),true);
}
}
}return_instance;
}
}
}
使用:
publicclassUser : Singleton<User>{privateUser() { }
}
Implementing the Singleton Pattern in C# 中文版