• C#创建自定义配置节


    name为自定义节点的名称,type为自定义节点解析文件的命名空间和自定义节处理程序的类名

    1. 在<configSections>节点中注册你所要定义的节点名称及用于处理该节点的配置节处理程序。代码如下:

    <configSections>
    <section name="dbFactory" type="DbFactory.Configuration.DbFactorySection,DbFactory.Configuration"/>
    </configSections>

    2. 在适当的位置添加自定义的节点。代码如下:

      <configSections>
            <section name="dbFactory" type="DbFactory.Configuration.DbFactorySection,DbFactory.Configuration"</configSections>
    
        <dbFactory>
            <default factory="sql"></default>
            <factorys>
                <add name="sql"  assembly="Hello.Data"  class="SqlDbFactory" />
                <add name="oracle" assembly="Hello.Data" class="OracleDbFactory" />             
            </factorys>
        </dbFactory>
    
     public class DefaultElement : ConfigurationElement
        {
            [ConfigurationProperty("factory")]
            public string Factory
            {
                get
                {
                    return this["factory"] as string;
                }
                set
                {
                    this["factory"] = value;
                }
            }
        }
    
    public class FactoryElement : ConfigurationElement
        {
            [ConfigurationProperty("name")]
            public string Name
            {
                get
                {
                    return this["name"] as string;
                }
                set
                {
                    this["name"] = value;
                }
            }
    
            [ConfigurationProperty("assembly")]
            public string Assembly
            {
                get
                {
                    return this["assembly"] as string;
                }
                set
                {
                    this["assembly"] = value;
                }
            }
    
            [ConfigurationProperty("class")]
            public string Class
            {
                get
                {
                    return this["class"] as string;
                }
                set
                {
                    this["class"] = value;
                }
            }
        }
    public class FactoryElements : ConfigurationElementCollection
        {
            protected override ConfigurationElement CreateNewElement()
            {
                return new FactoryElement();
            }
    
            protected override object GetElementKey(ConfigurationElement element)
            {
                return ((FactoryElement)element).Name;
            }
    
            public FactoryElement this[string name]
            {
                get
                {
                    return BaseGet(name) as FactoryElement;
                }
            }
        }
    
    public class DbFactorySection : ConfigurationSection
        {
            [ConfigurationProperty("default")]
            public DefaultElement DefaultFactory
            {
                get
                {
                    return this["default"] as DefaultElement;
                }
                set
                {
                    this["default"] = value;
                }
            }
    
            [ConfigurationProperty("factorys")]
            public FactoryElements Factorys
            {
                get
                {
                    return this["factorys"] as FactoryElements;
                }
    
                set
                {
                    this["factorys"] = value;
                }
            }
        }

    原文链接:

    http://www.cnblogs.com/amylis_chen/p/5985054.html

  • 相关阅读:
    eclipse
    ORA00904:标识符无效,preparedstatement
    mysql 创建用户
    web 默认servlet
    https tomat
    gzip
    sftp 上传文件
    jquery dwrutil confilit
    xmlbeans读写xml文件
    敏捷开发“松结对编程”实践大型团队篇
  • 原文地址:https://www.cnblogs.com/qingchengshiguang/p/12176358.html
Copyright © 2020-2023  润新知