1、将构造函数私有化。
2、提供一个静态方法返回对象。
3、创建一个单例。
Form1:
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace _136_单例模式{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){Form2 form2 = Form2.GetSingle(); //new Form2();form2.Show();}}}
Form2:
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace _136_单例模式{public partial class Form2 : Form{//全局唯一单例public static Form2 FrmSinger=null;private Form2(){InitializeComponent();}public static Form2 GetSingle(){if (FrmSinger==null){FrmSinger = new Form2();}return FrmSinger;}}}
