• [XML] ResourceManager一个操作Resource的帮助类 (转载)


    点击下载 ResourceManager.zip

    /// <summary>
    /// 类说明:Assistant
    /// 编 码 人:苏飞
    /// 联系方式:361983679  
    /// 更新网站:[url=http://www.sufeinet.com/thread-655-1-1.html]http://www.sufeinet.com/thread-655-1-1.html[/url]
    /// </summary>
     
    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.IO;
     
    namespace DotNet.Utilities
    {
        /// <summary>
        /// ResourceManager
        /// </author> 
        /// </summary>
        public class ResourceManager
        {
            private volatile static ResourceManager instance = null;
            private static object locker = new Object();
            public static ResourceManager Instance
            {
                get
                {
                    if (instance == null)
                    {
                        lock (locker)
                        {
                            if (instance == null)
                            {
                                instance = new ResourceManager();
                            }
                        }
                    }
                    return instance;
                }
            }
     
            private string FolderPath = string.Empty;
            public SortedList<String, Resources> LanguageResources = new SortedList<String, Resources>();
     
            public void Serialize(Resources resources, string filePath)
            {
                ResourcesSerializer.Serialize(filePath, resources);
            }
     
            public void Init(string filePath)
            {
                FolderPath = filePath;
                DirectoryInfo directoryInfo = new DirectoryInfo(filePath);
                LanguageResources.Clear();
                if (!directoryInfo.Exists)
                {
                    return;
                }
                FileInfo[] FileInfo = directoryInfo.GetFiles();
                for (int i = 0; i < FileInfo.Length; i++)
                {
                    Resources resources = ResourcesSerializer.DeSerialize(FileInfo.FullName);
                    resources.createIndex();
                    LanguageResources.Add(resources.language, resources);     
                }
            }
     
            public Hashtable GetLanguages()
            {
                Hashtable hashtable = new Hashtable();
                IEnumerator<KeyValuePair<String, Resources>> iEnumerator = LanguageResources.GetEnumerator();
                while (iEnumerator.MoveNext())
                {
                    hashtable.Add(iEnumerator.Current.Key, iEnumerator.Current.Value.displayName);
                }
                return hashtable;
            }
     
            public Hashtable GetLanguages(string path)
            {
                Hashtable hashtable = new Hashtable();
                DirectoryInfo directoryInfo = new DirectoryInfo(path);
                if (!directoryInfo.Exists)
                {
                    return hashtable;
                }
                FileInfo[] fileInfo = directoryInfo.GetFiles();
                for (int i = 0; i < fileInfo.Length; i++)
                {
    [i]                Resources resources = ResourcesSerializer.DeSerialize(fileInfo.FullName);
                    hashtable.Add(resources.language, resources.displayName);
                }
                return hashtable;
            }
     
            public Resources GetResources(string filePath)
            {
                Resources resources = new Resources();
                if (File.Exists(filePath))
                {
                    resources = ResourcesSerializer.DeSerialize(filePath);
                    resources.createIndex();
                }
                return resources;
            }
                     
            public string Get(string language, string key)
            {
                if (!LanguageResources.ContainsKey(language))
                {
                    return string.Empty;
                }
                return LanguageResources[language].Get(key);
            }
        }
    }
  • 相关阅读:
    MongoDB副本集replica set(四)--成员配置
    MongoDB副本集replica set(三)--添加删除成员
    MongoDB副本集replica set (二)--副本集环境搭建
    MongoDB副本集replica set (一)--基础知识
    MongoDB文档(二)--查询
    MongoDB文档(一)--插入、更新、删除
    MongoDB主从复制(master-->slave)环境搭建
    终于,病毒向我伸出了魔爪......
    若感染病毒的是你,你又该如何?
    面试官:换人!他连哈希扣的都不懂
  • 原文地址:https://www.cnblogs.com/lizeyan/p/3628814.html
Copyright © 2020-2023  润新知