定义一个单例模式的类,在这个类中,只有唯一的实例,不能new出来其他的实例对象。

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);

        }

    }

}

你可能感兴趣的:(.Net,其他)