欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

App.config自定义节点读取

程序员文章站 2022-04-28 22:17:34
--> public class OtherConfigInfo : ConfigurationSection { /// /// 获取配置信息 /// /// public static OtherConfigInfo GetConfig() { ... ......
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <!--<otherconfig configSource="XmlConfig\other.config" />-->
  <otherconfig   a="1111" b="2222" c="333"/>
</configuration>
public class OtherConfigInfo : ConfigurationSection
    {
        /// <summary>
        /// 获取配置信息
        /// </summary>
        /// <returns></returns>
        public static OtherConfigInfo GetConfig()
        {
            return GetConfig("otherconfig");
        }
        /// <summary>
        /// 获取配置信息
        /// </summary>
        /// <param name="sectionName">xml节点名称</param>
        /// <returns></returns>
        public static OtherConfigInfo GetConfig(string sectionName)
        {
            OtherConfigInfo section = (OtherConfigInfo)ConfigurationManager.GetSection(sectionName);
            if (section == null)
                throw new ConfigurationErrorsException("Section " + sectionName + " is not found.");
            return section;
        }

        [ConfigurationProperty("a", IsRequired = false)]
        public string a
        {
            get
            {
                return (string)base["a"];
            }
            set
            {
                base["a"] = value;
            }
        }

        [ConfigurationProperty("b", IsRequired = false)]
        public string b
        {
            get
            {
                return (string)base["b"];
            }
            set
            {
                base["b"] = value;
            }
        }

        [ConfigurationProperty("c", IsRequired = false)]
        public string c
        {
            get
            {
                return (string)base["c"];
            }
            set
            {
                base["c"] = value;
            }
        }
    }

  

 //调用方法
OtherConfigInfo configInfo = OtherConfigInfo.GetConfig();
 Console.WriteLine(configInfo.a);