在 C# 中自定义以下 app.config

本文关键字:app config 自定义 | 更新日期: 2023-09-27 18:32:41

我必须通过通用解析器解析几个包含标头的逗号分隔文件。标题数量众多,我需要提供选择几个重要标题的功能。

为每个

文件类型实现我的通用解析器的具体解析器必须覆盖onLine(IDictionary|string,string| line(方法等。此行将标头值映射到行中的相应数据。

的问题 :我目前在我的 app.config 中使用逗号分隔的列表。问题是我的具体解析器必须使用实际的标头值作为键。我希望能够引入常量,以便在标题更改时无需重建。

目前我的应用程序配置看起来像这样:

  <configSections>
    ...
    <section name="headers" type="System.Configuration.NameValueSectionHandler" />
    ...
  </configSections>
  ...
  <headers>
    ...
    <add key="file1" value="actualheader1,actualheader2,actualheader3" />
    <add key="file2" value="actualheader4,actualheader5,actualheader6" />
    <add key="file3" value="actualheader7,actualheader8,actualheader9" />
    ...
  </headers>
  ...

我需要类似的东西(对标签、键、值没有要求,只是想显示我所追求的逻辑(:

  <configSections>
    ...
    <section name="headers" type="?" />
    ...
  </configSections>
  ...
  <headers>
    ...
    <file1>
      <add key="headerconstant1" value="actualheader1" />
      <add key="headerconstant2" value="actualheader2" />
      <add key="headerconstant3" value="actualheader3" />
    </file1>
    <file2>
      <add key="headerconstant4" value="actualheader4" />
      <add key="headerconstant5" value="actualheader5" />
      <add key="headerconstant6" value="actualheader6" />
    </file2>
    <file3>
      <add key="headerconstant7" value="actualheader7" />
      <add key="headerconstant8" value="actualheader8" />
      <add key="headerconstant9" value="actualheader9" />
    </file3>
    ...
  </headers>
  ...

第二个选项将允许在文件中查找实际标头值的更改,而不会影响代码。

我该怎么做?我有任何已经实施的快速修复?

在 C# 中自定义以下 app.config

如果您想使用配置来做到这一点,但又不想手动编码配置部分的学习曲线,请查看 Visual Studio 插件的 http://csd.codeplex.com/。很干净,很容易理解。