ITPub博客

首页 > Linux操作系统 > Linux操作系统 > C#2.0中用范型实现单例模式(转)

C#2.0中用范型实现单例模式(转)

原创 Linux操作系统 作者:jcszjswkzhou 时间:2019-06-21 22:39:06 0 删除 编辑

#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/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2007-08-29

  • 博文量
    3488
  • 访问量
    2621158