为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用ConfigurationElementCollection实现Configuration

如何使用ConfigurationElementCollection实现Configuration

C#
九州编程 2019-10-05 11:22:28
我正在尝试在项目中实现自定义配置部分,并且不断遇到我不理解的异常。我希望有人可以在这里填空。我App.config看起来像这样:<?xml version="1.0" encoding="utf-8" ?><configuration>    <configSections>        <section name="ServicesSection" type="RT.Core.Config.ServicesConfigurationSectionHandler, RT.Core"/>    </configSections>    <ServicesSection type="RT.Core.Config.ServicesSection, RT.Core">            <Services>                <AddService Port="6996" ReportType="File" />                <AddService Port="7001" ReportType="Other" />            </Services>        </ServicesSection></configuration>我有一个ServiceConfig这样定义的元素:public class ServiceConfig : ConfigurationElement  {    public ServiceConfig() {}    public ServiceConfig(int port, string reportType)    {      Port = port;      ReportType = reportType;    }    [ConfigurationProperty("Port", DefaultValue = 0, IsRequired = true, IsKey = true)]    public int Port     {      get { return (int) this["Port"]; }      set { this["Port"] = value; }    }    [ConfigurationProperty("ReportType", DefaultValue = "File", IsRequired = true, IsKey = false)]    public string ReportType    {      get { return (string) this["ReportType"]; }      set { this["ReportType"] = value; }    }  }我有一个ServiceCollection这样的定义:public class ServiceCollection : ConfigurationElementCollection  {    public ServiceCollection()    {      Console.WriteLine("ServiceCollection Constructor");    }    public ServiceConfig this[int index]    {      get { return (ServiceConfig)BaseGet(index); }      set      {        if (BaseGet(index) != null)        {          BaseRemoveAt(index);        }        BaseAdd(index, value);      }    }    public void Add(ServiceConfig serviceConfig)    {      BaseAdd(serviceConfig);    }    public void Clear()    {      BaseClear();    }我缺少的部分是处理程序要做什么。最初,我尝试实现,IConfigurationSectionHandler但发现了两件事:它没有用不推荐使用。我现在完全不知道该怎么做,所以我可以从config中读取数据。请帮忙!
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 890 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信