
1 ///<summary>
2 /// Sigleton模式简单实例
3 ///</summary>
4 class Program
5 {
6 staticvoid Main(string[] args)
7 {
8 string _title;
9 //调用者不可以通过new的形式得到Singleton的实例
10 LogWriter log = LogWriter.GetInstance();
11 log.ddd();
12 //调用LogWriter中的静态字段(外部类的类类型,只能通过类型访问而不能通过实例访问)
13 _title = LogWriter._boss.Title;
14 LogWriter._boss.SayHi();
15 Console.WriteLine(_title);
16 Console.ReadLine();
17 }
18 #region LogWriter描述
19 publicclass LogWriter
20 {
21 //声明一个静态变量,类型为类本身
22 privatestatic LogWriter _instance =null;
23 //声明一个静态变量,类型为一外部类
24 publicstatic Boss _boss =new Boss();//注意此处必须初始化,否则,调用会报错:{未将引用添加到实例}
25 //将类的构造函数私有化,使得这个类不可以被外界创建
26 private LogWriter()
27 {
28 }
29 //提供静态的方法创建类的实例
30 publicstatic LogWriter GetInstance()
31 {
32 if(_instance ==null)
33 {
34 _instance =new LogWriter();
35 }
36 return _instance;
37 }
38 publicvoid ddd()
39 {
40 Console.WriteLine("hi!");
41 }
42 }
43 #endregion
44
45 #region Boss描述
46 publicclass Boss
47 {
48 privatestring _Title;
49
50 publicstring Title
51 {
52 get { return _Title; }
53 set { _Title = value; }
54 }
55
56 public Boss()
57 {
58 this._Title ="Lucky";
59 }
60 publicvoid SayHi()
61 {
62 Console.WriteLine("Hello,World!");
63 }
64 }
65 #endregion
66 }

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?