C#中采用自定义方式读取自定义配置文件

时间:2022-08-30 20:53:21

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