程序丨如何用QSingleton实现一个简单的单例?
介绍如何用QSingleton实现一个简单的单例。
代码如下。
Singleton.cs
namespace QFramework.Example
{
using UnityEngine;
class Class2Singleton :QSingleton<class2singleton>
{
private static int mIndex = 0;
private Class2Singleton() {}
public override void OnSingletonInit()
{
mIndex ;
}
public void Log(string content)
{
Debug.Log("Class2Singleton" mIndex ":" content);
}
}
public class Singleton : MonoBehaviour
{
private void Start()
{
Class2Singleton.Instance.Log("Hello World!");
// delete instance
Class2Singleton.Instance.Dispose();
// a differente instance
Class2Singleton.Instance.Log("Hello World!");
}
}
}
只需简单继承QSingleton,并声明非public构造方法即可。如果有需要获取单例初始化的时机,则可以选择重载OnSingletonInit方法。
结果:
注意:
建议在OnSingletonInit方法中进行单例的初始化操作而不是在构造函数中。
QSingleton.cs只适合实现没有继承其他父类的单例。
----------------------
今日推荐
添加小编微信,可享双重福利
1.加入GAD程序猿交流基地
获取行业干货资讯,观看大牛分享直播
2.领取60G独家程序资料,地址在小编朋友圈
包括腾讯内部分享、文章教程、视频教程等全套资料
↓长按添加小编GAD苏苏↓