• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

使用IConfigurationSectionHandler配置configSections

·步骤1:定义一个实体类

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 
 7 namespace ConsoleApplication1
 8 {
 9     /// <summary>
10     /// 说明:
11     /// 创建日期:2016/10/27 8:54:11
12     /// 创建人:曹永承
13     /// </summary>
14     public class Conn
15     {
16         public string DataBase { get; set; }
17 
18         public string Server { get; set; }
19 
20         public string UserId { get; set; }
21 
22         public string Password { get; set; }
23 
24         public override string ToString()
25         {
26             return string.Format("server={0};database={1};user id={2};password={3}", Server, DataBase, UserId, Password);
27         }
28     }
29 }

 

步骤2:定义一个ConnSectionHandler类实现IConfigurationSectionHandler接口

 1 using System.Configuration;
 2 using System.Xml;
 3 
 4 namespace ConsoleApplication1.config
 5 {
 6     /// <summary>
 7     /// 说明:
 8     /// 创建日期:2016/10/27 8:52:35
 9     /// 创建人:曹永承
10     /// </summary>
11     public class ConnSectionHandler : IConfigurationSectionHandler
12     {
13         public object Create(object parent, object configContext, XmlNode section)
14         {
15             Conn conn = new Conn();
16 
17             if (section != null)
18             {
19                 foreach (XmlNode node in section.ChildNodes)
20                 {
21                     switch (node.Name)
22                     {
23                         case "server":
24                             conn.Server = node.SelectSingleNode("@value").InnerText;
25                             break;
26                         case "database":
27                             conn.DataBase = node.SelectSingleNode("@value").InnerText;
28                             break;
29                         case "userid":
30                             conn.UserId = node.SelectSingleNode("@value").InnerText;
31                             break;
32                         case "password":
33                             conn.Password = node.SelectSingleNode("@value").InnerText;
34                             break;
35                     }
36                     
37                 }
38             }
39 
40             return conn;
41         }
42     }
43 }

 

步骤3:配置xml

1 <configSections>
2   <section name="conn" type="ConsoleApplication1.config.ConnSectionHandler,ConsoleApplication1"/>
3 </configSections>
4 <conn>
5   <server value="(local)"/>
6   <database value="testDB"/>
7   <userid value="sa"/>
8   <password value="123456"/>
9 </conn>

 

步骤4:测试代码

1 Conn conn = ConfigurationManager.GetSection("conn") as Conn ;
2 Console.WriteLine(conn); 
3 Console.ReadKey();

 

输出结果:

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#图像检测开源项目发布时间:2022-07-10
下一篇:
C#获取当前路径的方法集合发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap