using System;
namespace MySingleton
{
class Class1
{
[STAThread]
static void Main (string[] args)
{
SingleObject a =SingleObject.GetInstance();
a.m_data = "123";
a.Disp();
SingleObject b =SingleObject.GetInstance();
b.m_data = "456";
b.Disp();
Console.WriteLine();
a.Disp();
}
}
// 单例模式
class SingleObject
{
// 将构造函数私有化,使其无法产生新的实例
private SingleObject()
{
}
// 定义一个本类的真正实例成员,将其声明为静态的,也就是唯一对象。
private static SingleObject m_Obj = new SingleObject();
// 可以在对象中包含非静态成员
public string m_data = "";
// 使用下面方法返回这唯一一个实例对象
public static SingleObject GetInstance()
{
return m_Obj;
}
// 可以包含非静态成员。
public void Disp()
{
Console.WriteLine(m_data);
}
}
}