博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#2.0中用范型实现单例模式(转)
阅读量:2497 次
发布时间:2019-05-11

本文共 1074 字,大约阅读时间需要 3 分钟。

#region Using directives

using System;

using System.Collections.Generic;
using System.Text;
using System.Reflection;

#endregion

#region Using directives

using System;

using System.Collections.Generic;
using System.Text;
using System.Reflection;

#endregion

namespace GenericsSingleton

{
///
/// 单例范型
///
///
public class Singleton
{
private static T _instance;

public Singleton()

{
}

public static T Instance

{
get
{
if (_instance == null)
{

//获得实例,使用这个方法的前提是T要有公有的、无参数的构造函数

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

}
return _instance;
}
}
}

///

/// 要实现单例的类
///
public class Foo
{
private int count = 0;

public int Count

{
get
{
count++;
return count;
}
}
}

///

/// 主函数
///
class Program
{
static void Main(string[] args)
{
//连续调用三次如果值是递增的话说明三次调用都是同一个实例
Console.WriteLine(Singleton.Instance.Count);
Console.WriteLine(Singleton.Instance.Count);
Console.WriteLine(Singleton.Instance.Count);

Console.ReadLine();

}
}
}

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10294527/viewspace-122577/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10294527/viewspace-122577/

你可能感兴趣的文章
idea在搭建ssm框架时mybatis整合问题 无法找到mapper
查看>>
java设计基本原则----单一职责原则
查看>>
HashMap的实现
查看>>
互斥锁 synchronized分析
查看>>
java等待-通知机制 synchronized和waity()的使用实践
查看>>
win10 Docke安装mysql8.0
查看>>
docker 启动已经停止的容器
查看>>
order by 排序原理及性能优化
查看>>
Lock重入锁
查看>>
docker安装 rabbitMq
查看>>
git 常用命令 入门
查看>>
关闭selinx nginx无法使用代理
查看>>
shell 脚本部署项目
查看>>
spring cloud zuul网关上传大文件
查看>>
springboot+mybatis日志显示SQL
查看>>
工作流中文乱码问题解决
查看>>
maven打包本地依赖包
查看>>
spring boot jpa 实现拦截器
查看>>
jenkins + maven+ gitlab 自动化部署
查看>>
Pull Request流程
查看>>