[XML] ResourceManager一个操作Resource的帮助类 (转载)
2014-03-27 17:27
218 查看
点击下载 ResourceManager.zip
/// <summary> /// 类说明:Assistant /// 编 码 人:苏飞 /// 联系方式:361983679 /// 更新网站:http://www.sufeinet.com/thread-655-1-1.html /// </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); } } }
相关文章推荐
- 一个通过DataSet操作XML的类(转载)
- 发布一个简单实用的xml文件操作帮助类
- [XML] C# XmlHelper操作Xml文档的帮助类 (转载)
- [XML] C#XMLProcess操作Xml文档的帮助类 (转载)
- C#操作XML(读XML,写XML,更新,删除节点,与dataset结合等)【转载】
- <转载>XML操作
- 一个web项目web.xml的配置操作
- 用一个留言簿说明C#操作XML的完全过程
- C#对XML文档的操作[转载]
- 【转载】C#操作XML
- [XML] C#ResourceManagerWrapper帮助类 (转载)
- XML解析器可以读取、更新、创建、操作一个XML文档
- 一个通过DataSet操作XML的类
- C#对XML操作:一个处理XML文件的类(1)
- 转载版主阿非的一个xmlhttprequest的repeater分页。
- 分享一个操作xml的代码
- DynamicXml -- 动态读取操作XML (一个从XML到Object的通用实现)
- C#操作xml之xpath语法 转载
- [XML] Resource帮助类
- C#对XML操作:一个处理XML文件的类(2)