程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 分享一個單例模型類Singleton代碼

分享一個單例模型類Singleton代碼

編輯:C#入門知識

相關代碼:

using System;
using System.Collections.Generic;
using System.Text;

namespace Pixysoft.DesignPattern
{
    public class Singleton<T>
    {
        private Dictionary<string, T> dict = new Dictionary<string, T>();

        private string _id = null;

        private static volatile object instance;

        private static object syncRoot = new Object();

        public static T Instance
        {
            get
            {
                if (instance == null)
                {
                    lock (syncRoot)
                    {
                        instance = Activator.CreateInstance(typeof(T));
                    }
                }

                return (T)instance;

            }
        }

        public T this[string id]
        {
            get
            {
                //如果是null,表示自己,則直接返回Instance

                if (string.IsNullOrEmpty(id))
                    return Instance;

                id = id.Trim().ToUpper();

                lock (syncRoot)
                {
                    if (dict.ContainsKey(id))
                        return dict[id];

                    object i = Activator.CreateInstance(typeof<

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved