Есть хорошая статья о хранении списков (или любого другого пользовательского объекта) в ваших файлах app.config в Лучший способ сохранения списков в App.Config
По сути, вы создаетеобъект, который представляет данные.
public class MyConfig
{
public string[] myList;
public string someOtherValueIfYouWant;
}
И напишите для него обработчик конфигурации ...
public class ConfigSectionHandler : IConfigurationSectionHandler
{
public const string SECTION_NAME = "MyConfig";
public object Create(object parent, object configContext, XmlNode section)
{
string szConfig = section.SelectSingleNode("//MyConfig").OuterXml;
MyConfig retConf = null;
if (szConfig != string.Empty || szConfig != null)
{
XmlSerializer xsw = new XmlSerializer(typeof(MyConfig));
MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(szConfig));
ms.Position = 0;
retConf = (MyConfig)xsw.DeSerialize(ms);
}
return retConf;
}
}
И это позволит вам поместить следующий XML в ваш файл app.config...
Расскажите app.config о вашем классном разделе конфигурации
<configSections>
<section name="MyConfig" type="ConfigSectionHandler,someAssembly" />
</configSection>
А затем добавьте свой раздел конфигурации ...
<MyConfig>
<myList>First one</myList>
<myList>Second one</myList>
<myList>Keep going</myList>
<myList>And so on</myList>
<someOtherValueIfYouWant>some non array config</someOtherValueIfYouWant>
</MyConfig>