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()...");
        }
    }
}

 

posted @ 2015-07-22 10:27  vily_雷  阅读(153)  评论(0编辑  收藏  举报