泛型类单例实现

public class Singleton<T> where T : new()
    {
        private static T mSingleton = default(T);

        public static T getSingleton()
        {
            if (mSingleton == null)
                mSingleton = new T();
            return mSingleton;
        }

        public virtual void Destroy()
        {
            if (mSingleton != null)
                mSingleton = default(T);
        }
    }

这样就可以方便的为想加上单例的类加上单例功能

想要使用的类可以这样用

public class LuaManager : Core.Singleton<LuaManager>

调用的方式如下

AppMgr.LuaManager.getSingleton().MainRequireLua("Lua/Core/AppInit");

 

posted @ 2021-10-12 19:10  搬砖独行者  阅读(130)  评论(0)    收藏  举报