在C#中讀取配置文件的時候,我們通常都是通過ConfigurationManager類來直接獲取配置文件中的相關數據的,但是如果我們不想讀取項目的默認配置文件App.config,則很不爽,所以經過了幾個小時的調查,對ConfigurationManager類進行了二次封裝,於是就有了下面的自定義工具類。
1 public class ConfigurationHelper 2 { 3 /// <summary> 4 /// 打開默認配置文件中制定的Section; 5 /// </summary> 6 public static object GetSection(string sectionName) 7 { 8 return GetConfiguration().GetSection(sectionName); 9 } 10 11 public static ConnectionStringSettingsCollection ConnectionStrings 12 { 13 get { return GetConfiguration().ConnectionStrings.ConnectionStrings; } 14 } 15 16 public static KeyValueConfigurationCollection AppSettings 17 { 18 get { return GetConfiguration().AppSettings.Settings; } 19 } 20 21 /// <summary> 22 /// 打開默認的配置文件; 23 /// </summary> 24 public static Configuration GetConfiguration() 25 { 26 string configFile = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Connection.config"); 27 return GetConfiguration(configFile); 28 } 29 30 /// <summary> 31 /// 打開指定的配置文件; 32 /// </summary> 33 public static Configuration GetConfiguration(string configFile) 34 { 35 ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap(); 36 fileMap.ExeConfigFilename = configFile; 37 38 return ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None); 39 } 40 }
用法很簡單,跟ConfigurationManager類的用法一樣,根據需要還可以對該類進行繼續封裝,譬如:如果我們想同時操作多個配置文件的話,我們可以添加個構造函數,可以將配置文件通過構造函數參數穿進去,同時在封裝幾個非靜態函數,在進行調用即可。