C# 通过从测试中读取App.config简化测试配置

C# 通过从测试中读取App.config简化测试配置,c#,C#,“我的应用”允许用户在app.config中指定其输出中所需的列: <?xml version="1.0"?> <configuration> <appSettings> . . . <!-- specify columns you want --> <add key="NameCol" value="true"/> <add key="AddressCol" value="true"/>

“我的应用”允许用户在app.config中指定其输出中所需的列:

<?xml version="1.0"?>
  <configuration>
    <appSettings>

  .
  .
  .
  <!-- specify columns you want -->
  <add key="NameCol" value="true"/>
  <add key="AddressCol" value="true"/>
  <add key="TelCol" value="true"/>
  .
  .
  .
 </appSettings>
有没有办法从App.config文件中读取列名,并为上述内容创建for循环?所以应该是这样的。getColNamesFromAppConfig()看起来像什么

columnNames = getColNamesFromAppConfig()
foreach (string colName in ColumnNames)
{
  config.AppSettings.Settings.Remove(colName);
}
那么:

    foreach (SettingsProperty property in Settings.Properties) // or ConfigurationProperty? 
    {
        // ...
    }
顺便说一下,如果我是你,我会考虑在自定义对象中包装设置(由你自己来实现)。如果必须这样做:

config.AppSettings.Settings.Remove("NameCol");
config.AppSettings.Settings.Remove("AddressCol");
config.AppSettings.Settings.Remove("TelCol");  
在测试中,这对我来说是一种代码味道。我相信您应该能够为测试目的模拟设置。然而,这是一个品味问题

config.AppSettings.Settings.Remove("NameCol");
config.AppSettings.Settings.Remove("AddressCol");
config.AppSettings.Settings.Remove("TelCol");