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