大家是否有更好的方法?
对于Singleton模式的类,有一部分代码是相同的,是否能够通过泛型来实现?
以下是现在想到的有缺陷的一个方式。以下方式的缺陷是,MySingletonClass必须
拥有缺省的public的构造函数。大家是否有更好的方法?
(以下代码基于C# 2.0)
以下是现在想到的有缺陷的一个方式。以下方式的缺陷是,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 ()
{
}
}
{
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 ()
{
}
}