大家是否有更好的方法?

对于Singleton模式的类,有一部分代码是相同的,是否能够通过泛型来实现?
 以下是现在想到的有缺陷的一个方式。以下方式的缺陷是,MySingletonClass必须
 拥有缺省的public的构造函数。大家是否有更好的方法?
(以下代码基于C# 2.0)
public class Singleton<T> where T : new()
 
{
 
private static T _instance;

 
public static T Instance
 
{
 
get
 
{
 
if (_instance == null)
 
{
 
lock (typeof(Singleton<T>))
 
{
 
if (_instance == null)
 
{
 _instance 
= new T();
 }

 }

 }


 
return _instance;
 }

 }

 }


 
public class MySingletonClass : Singleton<MySingletonClass>
 
{
 
public MySingletonClass () 
 
{
 }

 }

posted on 2004-07-07 22:41  温少  阅读(926)  评论(3编辑  收藏  举报

导航