ExampleConfigurationSectionHandler.cs
1
using
System;
2
using
System.Collections.Generic;
3
using
System.Configuration;
4
using
System.IO;
5
using
System.Linq;
6
using
System.Runtime.InteropServices.ComTypes;
7
using
System.Text;
8
using
System.Threading.Tasks;
9
using
System.Xml;
10
using
System.Xml.Serialization;
11
12
namespace
SampleConfigSectionHandle
13
{
14
public
sealed
class
ExampleConfigurationSectionHandler : IConfigurationSectionHandler
15
{
16
public
object
Create(
object
parent,
object
configContext, XmlNode section)
17
{
18
var
xmlSerializer =
new
XmlSerializer(
typeof
(UserInfo));
19
20
using
(
var
stream =
new
MemoryStream(Encoding.Default.GetBytes(section.InnerXml)))
21
{
22
var
xmlNode =
XmlReader.Create(stream);
23
24
return
xmlSerializer.Deserialize(xmlNode);
25
}
26
}
27
}
28
29
public
class
UserInfo
30
{
31
public
string
UserName {
get
;
set
; }
32
33
public
string
UserPwd {
get
;
set
; }
34
}
35
}
App.config
1
<?
xml version="1.0" encoding="utf-8"
?>
2
<
configuration
>
3
4
5
<
configSections
>
6
7
<!--
示例配置節(jié)
-->
8
<
section
name
="example"
type
="SampleConfigSectionHandle.ExampleConfigurationSectionHandler,SampleConfigSectionHandle"
/>
9
10
</
configSections
>
11
12
<
startup
>
13
<
supportedRuntime
version
="v4.0"
sku
=".NETFramework,Version=v4.5"
/>
14
</
startup
>
15
16
<!--
配置節(jié)實例
-->
17
<
example
>
18
19
<
UserInfo
>
20
<
UserName
>
WangYa
</
UserName
>
21
<
UserPwd
>
123456
</
UserPwd
>
22
</
UserInfo
>
23
24
</
example
>
25
26
</
configuration
>
Program.cs
using
System;
using
System.Collections.Generic;
using
System.Configuration;
using
System.Diagnostics;
using
System.Linq;
using
System.Text;
using
System.Threading.Tasks;
namespace
SampleConfigSectionHandle
{
class
Program
{
static
void
Main(
string
[] args)
{
var
config = ConfigurationManager.GetSection(
"
example
"
)
as
UserInfo;
if
(config !=
null
)
{
Console.WriteLine(config.UserName);
Console.WriteLine(config.UserPwd);
}
Console.Read();
}
}
}
?
?
?
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

