在 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>
...
第二个选项将允许在文件中查找实际标头值的更改,而不会影响代码。
我该怎么做?我有任何已经实施的快速修复?
如果您想使用配置来做到这一点,但又不想手动编码配置部分的学习曲线,请查看 Visual Studio 插件的 http://csd.codeplex.com/。很干净,很容易理解。