摘要:
本人对于C#只能算是初学者,写此随笔,也只为和大家一起讨论,共同进步。我看到过一些用C#语言泛化单件(Singleton)的文章和代码,里面有个问题,即用new来创建对象,比如类似下面这段代码:if(_instance==null){_instance=newT();}要想让其工作,你必须让T的构造函数为public。但是,如果T的构造函数为public,那任何客户代码都可调用new T()。你无法用语言本身限制其只能被创建最多一次和只有一个全局访问点,这样也就无法保证你的单件成为“单件”。C++里有友元(friend),T的构造函数可是设为non-public,然后用单件的模板类作为友元去访 阅读全文