DO ConfigurationManager XML элементы поддержки массивов?
-
22-12-2019 - |
Вопрос
Я использую Configuration Manager для хранения настроек в приложении C #.У меня есть некоторые отдельные настройки, и у меня есть вариабельный массив настроек.
Конфигурация XML выглядит что-то подобное:
<?xml version="1.0"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
</startup>
<appSettings>
<add key="Option" value="Tabbed" />
<add key="Version" value="0.0.0.0" />
<Tee1>
<add key="Name" value="Test1" />
<add key="IPAddress" value="127.0.0.1" />
<add key="Port" value="58323" />
<add key="AutoConnect" value="True" />
<add key="Link" value="False" />
<add key="Link" value="False" />
</Tee1>
<Tee2>
<add key="Name" value="Test2" />
<add key="IPAddress" value="127.0.0.1" />
<add key="Port" value="58324" />
<add key="AutoConnect" value="True" />
<add key="Link" value="False" />
<add key="Link" value="False" />
</Tee2>
<Tee3>
<add key="Name" value="Test3" />
<add key="IPAddress" value="localhost" />
<add key="Port" value="58325" />
<add key="AutoConnect" value="False" />
<add key="Link" value="True" />
<add key="Link" value="False" />
</Tee3>
<Tee4 />
<Tee5 />
<Tee6 />
<Tee7 />
<Tee8 />
<Tee9 />
<Tee10>
<add key="Name" value="Test10" />
<add key="IPAddress" value="127.0.0.1" />
<add key="Port" value="58332" />
<add key="AutoConnect" value="False" />
<add key="Link" value="False" />
<add key="Link" value="False" />
</Tee10>
</appSettings>
</configuration>
.
Записи TEE без данных являются нулевыми элементами.
Когда я загружаю сгенерированный XML текст в редактор Visual Studio 2010, он показывает, что TEE1 имеет ошибку.
«Элемент« Appsettings »имеет неверный элемент ребенка« Tee1 ».Список возможных элементов ожидается: «Добавить, удалить.Ясно »."
Как я должен представлять собой массив подобных предметов?
Решение
Вы можете хранить только параметры key=value
в <appSettings>
.Если вы хотите что-то более богаче, вам нужно будет написать пользовательский обработчик раздела настройки.
см., Например: