在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类的用法一样,根据需要还可以对该类进行继续封装,譬如:如果我们想同时操作多个配置文件的话,我们可以添加个构造函数,可以将配置文件通过构造函数参数穿进去,同时在封装几个非静态函数,在进行调用即可。