Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C#中自定义以下app.config?_C# - Fatal编程技术网

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

在C#中自定义以下app.config?,c#,C#,我必须通过一个通用解析器解析几个包含标题的逗号分隔文件。标题有很多,我需要提供选择几个重要标题的能力 为每种文件类型实现我的泛型方法的具体解析器必须重写联机(IDictionary | string,string | line)方法。此行将标题值映射到行中的相应数据 我的问题是:目前我在app.config中使用逗号分隔的列表。问题是我的具体解析器将不得不使用实际的头值作为键。我希望能够引入常量,以便在头更改的情况下不需要重建 目前,我的app.config如下所示: <configS

我必须通过一个通用解析器解析几个包含标题的逗号分隔文件。标题有很多,我需要提供选择几个重要标题的能力

为每种文件类型实现我的泛型方法的具体解析器必须重写联机(IDictionary | string,string | line)方法。此行将标题值映射到行中的相应数据

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

目前,我的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>
  ...

...
...
...
...
...
...
我需要这样的东西(没有标签、键、值方面的要求,只是试图显示我所追求的逻辑):


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


我该怎么做?我是否已经实现了任何快速修复?

如果您想使用配置进行修复,但不想手动编写配置部分的学习曲线,请查看visual studio加载项。非常清晰且易于理解。

尝试使用自定义类型进行XML序列化。请使用此链接获取更多信息,试图找出哪一个从我这方面获取的代码最少。序列化部分是否与我的app.config中的其他经典部分兼容?MilkyWayJoe,你的链接写得不错,但与我想要的有点远。虽然如果有人有更接近我所寻找的东西,同样的方式,我也很渴望。特别是,我需要的东西可以深入到一个部分的两个层次,这只是一个层次的深度
  <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>
  ...