App.config自定义节点读取

时间:2021-09-13 04:28:32
<?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);