- 特殊的单例模式
要点在这里,提前预览:
public SingleDemo() {
name = "yy";
age = 20;
//特殊的单例,this指代得失当前的SingleDemo
//将单例变量初始化
instance = this;
}
- 源码部分:
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace SingleCaseModel 8 { 9 class SingleDemo { 10 public static SingleDemo instance; 11 public string name; 12 public int age; 13 //可以是无参构造函数 14 public SingleDemo() { 15 name = "yy"; 16 age = 20; 17 //特殊的单例,this指代得失当前的SingleDemo 18 //将单例变量初始化 19 instance = this; 20 } 21 //也可以写成有参构造函数 22 public SingleDemo(string n,int a) { 23 name = n; 24 age = a; 25 //将单例变量初始化 26 instance = this; 27 } 28 } 29 class Program 30 { 31 static void Main(string[] args) 32 { 33 //调用无参构造函数,实例化SingleDemo这个类,使this关键字初始化,并能够调用构造函数 34 //instance=sd 35 //注意:SingleDemo sd = new SingleDemo();只能实例化一次,不能实例多个, 36 //否则将以最后实力的一个为基础来进行使用 37 SingleDemo sd = new SingleDemo(); 38 Console.WriteLine(SingleDemo.instance.name); 39 //写成如下方式也可以,只是如果是在另外的其他页面进行调用单例模式的话,要写成上面这种 40 //Console.WriteLine(sd.name); 41 Console.ReadKey(); 42 } 43 } 44 }
时间: 2024-11-13 08:12:29