现在的位置: 首页 > 综合 > 正文

大家是否有更好的方法?

2011年07月18日 ⁄ 综合 ⁄ 共 457字 ⁄ 字号 评论关闭
对于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 () 
 
{
 }

 }

抱歉!评论已关闭.