博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.NET 配置项扩展
阅读量:5046 次
发布时间:2019-06-12

本文共 2755 字,大约阅读时间需要 9 分钟。

using System;using System.Configuration;namespace ConsoleApplication3{    /*        web.config 或 app.config 中的配置示例如下(注:configSections 节一定要是 configuration 节下的第一个元素):             
*/ public class EasConfigurationElement : ConfigurationElement { [ConfigurationProperty("name", IsKey=true, IsRequired=true)] public string Name { get { return (string)this["name"]; } set { this["name"] = value; } } [ConfigurationProperty("url", DefaultValue = "")] public string Url { get { return (string)this["url"]; } set { this["url"] = value; } } [ConfigurationProperty("port", DefaultValue = 0, IsRequired = false)] [IntegerValidator(MinValue = 0, MaxValue = 8080, ExcludeRange = false)] public int Port { get { return (int)this["port"]; } set { this["port"] = value; } } } [ConfigurationCollection(typeof(EasConfigurationElement))] public class EasConfigurationElementCollection : ConfigurationElementCollection { protected override string ElementName { get { return "url"; } } public override ConfigurationElementCollectionType CollectionType { get { return ConfigurationElementCollectionType.BasicMap; } } protected override ConfigurationElement CreateNewElement() { return new EasConfigurationElement(); } protected override object GetElementKey( ConfigurationElement element ) { var newElement = element as EasConfigurationElement; if( newElement != null ) return newElement.Name; throw new NullReferenceException( "element can not convert to " + typeof( EasConfigurationElement ) ); } public EasConfigurationElement this[ int index ] { get { return (EasConfigurationElement)BaseGet( index ); } set { if( BaseGet( index ) != null ) { BaseRemoveAt( index ); } BaseAdd( index, value ); } } } public class EasConfigurationSection : ConfigurationSection { [ConfigurationProperty("", IsDefaultCollection = true)] public EasConfigurationElementCollection Urls { get { var collection = (EasConfigurationElementCollection)base[""]; return collection; } } }}

 

转载于:https://www.cnblogs.com/jRoger/p/5029030.html

你可能感兴趣的文章
Python内置函数(29)——help
查看>>
机器学习系列-tensorflow-01-急切执行API
查看>>
SqlServer 遍历修改字段长度
查看>>
Eclipse快捷键:同时显示两个一模一样的代码窗口
查看>>
《架构之美》阅读笔记05
查看>>
《大道至简》读后感——论沟通的重要性
查看>>
JDBC基础篇(MYSQL)——使用statement执行DQL语句(select)
查看>>
关于React中props与state的一知半解
查看>>
java中Hashtable和HashMap的区别(转)
查看>>
关闭数据库
查看>>
webStrom智能提示忽略首字母大小写问题
查看>>
层叠加的五条叠加法则(一)
查看>>
设计模式六大原则(5):迪米特法则
查看>>
对Feature的操作插入添加删除
查看>>
javascript String
查看>>
ecshop 系统信息在哪个页面
查看>>
【转】码云source tree 提交超过100m 为什么大文件推不上去
查看>>
Oracle数据库的增、删、改、查
查看>>
MySql执行分析
查看>>
git使用中的问题
查看>>