c# ConfigurationSection
2015-11-24 19:22
423 查看
怎么把自己的配置文件配置到app.config中?
方案1:在app.config中添加
如果我需要自己定义单独的多个配置文件,又该怎么处理才可以把配置文件添加app.config中呢?
方案2:定义ConfigurationSection类
KeyValueConfigurationElementCollection
KeyValueConfigurationElement
修改app.config配置文件:
怎么调用:
方案1:在app.config中添加
<!--应用配置--> <appSettings configSource="Conf\AppSettings.config" />
如果我需要自己定义单独的多个配置文件,又该怎么处理才可以把配置文件添加app.config中呢?
方案2:定义ConfigurationSection类
MyConfigurationSection
public class MyConfigurationSection : ConfigurationSection { [ConfigurationProperty("", IsDefaultCollection = true)] public KeyValueConfigurationElementCollection My { get { return (KeyValueConfigurationElementCollection)base[""]; } } public string GetValueByKey(string key) { foreach (KeyValueConfigurationElement item in this.My) { if (item.Key == key) return item.Value; } return string.Empty; } //[ConfigurationProperty("configSource", IsRequired = false)] //public string ConfigSource //{ // get { return (string)base["configSource"]; } // set // { // base["configSource"] = value; // } //} }
KeyValueConfigurationElementCollection
public class KeyValueConfigurationElementCollection : ConfigurationElementCollection { protected override ConfigurationElement CreateNewElement() { return new KeyValueConfigurationElement(); } protected override object GetElementKey(ConfigurationElement element) { return (element as KeyValueConfigurationElement).Key; } public override ConfigurationElementCollectionType CollectionType { get { return ConfigurationElementCollectionType.BasicMap; } } protected override string ElementName { get { return "add"; } } }
KeyValueConfigurationElement
public class KeyValueConfigurationElement : ConfigurationElement { [ConfigurationProperty("key", IsRequired = true)] public string Key { get { return (string)base["key"]; } set { base["key"] = value; } } [ConfigurationProperty("value", IsRequired = true)] public string Value { get { return (string)base["value"]; } set { base["value"] = value; } } }
修改app.config配置文件:
<configSections> <section name="my" type="DTCore.MyConfigurationSection,DTCore"/> </configSections> <mre configSource="Conf\My_Settings.config" />
Conf\My_Settings.config
<?xml version="1.0" encoding="utf-8"?> <my> <add key="DT.AKey" value="c key"/> <add key="DT.CKey.RIPPRB" value="the value"/> </my>
怎么调用:
MyConfigurationSection mySection=(MyConfigurationSection)ConfigurationManager.GetSection("my"); string value=mySection.GetValueByKey("DT.AKey");
相关文章推荐
- C#中的委托与事件
- c# 基础部分 (基本数据类型-- 表达式)
- C#跳转语句
- 轻松学习C#的正则表达式
- [转载收藏]C#基础知识梳理系列十一:垃圾回收机制
- C# XML解析
- C#中的内存四区
- 关于C#中对象用作属性
- Observer Pattern 在C#是怎么使用的(一)
- C#获取当前路径的7种方法
- C#调用Web Service时的身份验证
- 浅析C#中的Attribute
- 最全的C#图片处理帮助类ImageHelper
- 使用C#开发ActiveX控件 11
- C#获取文件夹下指定格式的所有文件
- c# 生成xml,xsi不能生成问题
- C#引用外部DLL报错未能找到类型或命名空间名称(是否缺少using指令后程序集引用)
- C# LINQ中如何使用split
- C# is和as操作符
- C# 之 AES加密源码