1.静态私有字段;
2.静态共有属性(get);
3.私有构造函数;
通过这种方式创建全局唯一的对象。(注意多线程的时候加锁)
eg:
class Single
{
//1....
private static Single single;
//2....
public static Sing GetSingle
{
get
{
if(single==null)
{
single=new Single();
}
return single;
}
}
//3....
private Single()
{
}
}
多线程单例:

c#中readonly单例:

网友评论