Unity3D C# 实现的两种单例
方式1:
using System; using UnityEngine; namespace sam.test { public class SingletonA { private static readonly SingletonA _ins = new SingletonA(); public static SingletonA instance { get; private set; } private SingletonA() { instance = this; } public void showInfo() { Debug.Log("SingletonA::showInfo()..."); } } }
方式2:
using System; using UnityEngine; namespace sam.test { public class SingletonB { private static class SingletonBHolder { public static SingletonB ins = new SingletonB(); } public static SingletonB instance { get { return SingletonBHolder.ins; } } public void showInfo() { Debug.Log("SingletonB::showInfo()..."); } } }