随笔 - 547  文章 - 213 评论 - 417 阅读 - 107万

用c#的范型实现Singleton模式

以下是完整的代码

 

public partial class Generic_Singleton : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

Response.Write("<p>" + Singleton<TestClass>.Instance.Count + "</p>");

Response.Write("<p>" + Singleton<TestClass>.Instance.Count + "</p>");

Response.Write("<p>" + Singleton<TestClass>.Instance.Count + "</p>");

}

}

 

public class Singleton<T>

{

private static T _instance;

 

public Singleton()

{

 

}

 

public static T Instance

{

get

{

if (_instance == null)

{

_instance = (T)System.Activator.CreateInstance(typeof(T));

}

 

return _instance;

 

}

 

}

}

 

public class TestClass

{

private int count = 0;

 

public int Count

{

get

{

count++;

return count;

}

}

 

}

 

运行结果如下:

1

2

3

 

说明调用的是同一个实例。说明实现了Singleton模式。

 

 

posted on   今夜太冷  阅读(632)  评论(1编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示