码迷,mamicode.com
首页 > Windows程序 > 详细

c# 配置文件之configSections配置(二)

时间:2016-10-26 16:21:43      阅读:264      评论:0      收藏:0      [点我收藏+]

标签:username   mic   png   文件   bsp   val   工作   为我   dmi   

在很多时候我们需要自定义我们自己的自定义App.config 文件,而微软为我们提供了默认的

System.Configuration.DictionarySectionHandler

System.Configuration.NameValueSectionHandler      

System.Configuration.SingleTagSectionHandler

 

DictionarySectionHandler使用

  DictionarySectionHandler的工作方式与NameValueFileSectionHandler几乎相同,其区别是DictionarySectionHandler返回HashTable对象,而后者返回的是NameValueCollection。

1 <configSections>
2   <section name="mailServer" type="System.Configuration.DictionarySectionHandler,System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
3 </configSections>
4 <mailServer>
5   <add key="url" value="mail.163.com"/>
6   <add key="username" value="admin"/>
7   <add key="password" value="123456"/>
8 </mailServer>

  使用代码

1 IDictionary dic = ConfigurationManager.GetSection("mailServer") as IDictionary; 
2 Console.WriteLine(dic);
3 foreach (var key in dic.Keys)
4 {
5     Console.WriteLine("{0}:{1}", key, dic[key]);
6 }
7 Console.ReadKey();

技术分享

 

由于DictionarySectionHandler返回的是HashTable对象,而HashTable中的Key是唯一的。那么DictionarySectionHandler如果配置了相同的Key,后面的值会覆盖前面的值。

还是上面的的例子,我们将配置文件修改一下

1 <mailServer>
2   <add key="url" value="mail.163.com"/>
3   <add key="username" value="admin"/>
4   <add key="password" value="123456"/>
5   <add key="password" value="12345678"/>
6 </mailServer>

接下来看看输出结果:

技术分享

 

 

NameValueSectionHandler使用

  xml配置

1 <configSections>
2   <section name="mailServer" type="System.Configuration.NameValueSectionHandler,System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
3 </configSections>
4 <mailServer>
5   <add key="url" value="mail.163.com"/>
6   <add key="username" value="admin"/>
7   <add key="password" value="123456"/>
8   <add key="password" value="12345678"/>
9 </mailServer>

  代码:

1 NameValueCollection mailServer = ConfigurationManager.GetSection("mailServer") as NameValueCollection;
2 Console.WriteLine(mailServer);
3 foreach (var key in mailServer.AllKeys)
4 {
5     Console.WriteLine("{0}:{1}",key,mailServer[key]);
6 }
7 Console.ReadKey();

  输出结果:

技术分享

 

c# 配置文件之configSections配置(二)

标签:username   mic   png   文件   bsp   val   工作   为我   dmi   

原文地址:http://www.cnblogs.com/caoyc/p/6000694.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!