WhiteEngine-专注图形渲染与游戏引擎技术的网站

新浪微薄腾讯微薄

最新碎语:暂无碎语

您的位置:WhiteEngine-专注图形渲染与游戏引擎技术的网站 >C#与Lua> 泛型单例

泛型单例

using System;
/// <summary>
/// 单例泛型
/// where约束泛型,类,且公有的无参构造函数
/// </summary>
public class Singleton_igame<T> where T : class, new()
{
    private static T _Instance;
    static Singleton_igame()
    {
        Singleton_igame<T>._Instance = new T();
    }
    public static void CreateInstance()
    {
        if (Singleton_igame<T>._Instance == null)
        {
            Singleton_igame<T>._Instance = Activator.CreateInstance<T>();
        }
    }
    public static void DestroyInstance()
    {
        if (Singleton_igame<T>._Instance != null)
        {
            Singleton_igame<T>._Instance = null;
        }
    }
    public static T GetInstance()
    {
        if (Singleton_igame<T>._Instance == null)
        {
            Singleton_igame<T>._Instance = Activator.CreateInstance<T>();
        }
        return Singleton_igame<T>._Instance;
    }
    public static T Instance
    {
        get
        {
            if (Singleton_igame<T>._Instance == null)
            {
                Singleton_igame<T>._Instance = Activator.CreateInstance<T>();
            }
            return Singleton_igame<T>._Instance;
        }
    }
}

---

转载请注明本文标题和链接:《泛型单例

分享到:

发表评论

路人甲 表情
看不清楚?点图切换 Ctrl+Enter快速提交