using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SingletonPattern
{
///
/// 单例模式实现方式二:
/// 延迟初始化
///
public class Singleton2
{
///
/// 定义为static,可以保证变量为线程安全的,即每个线程一个实例
///
private static Singleton2 _instance;
private Singleton2()
{
}
public static Singleton2 Instance()
{
return _instance ?? (_instance = new Singleton2());
}
///
/// 使用此方法销毁已创建的实例
///
public void Reset()
{
_instance = null;
}
public void GetInfo()
{
Console.WriteLine(string.Format("I am {0}.",this.GetType().Name));
}
}
}