Fazer ConfigurationManager Elementos XML suporte para matrizes?
-
22-12-2019 - |
Pergunta
Eu estou usando o Gerenciador de Configuração para armazenar as configurações em uma aplicação C#.Eu tenho algumas configurações individuais e tenho uma variável de matriz de configurações.
A Configuração XML semelhante a este:
<?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>
A Tee de entradas de dados são nulos os itens.
Quando eu carregar o XML gerado texto no editor do Visual Studio 2010 mostra TEE1 tem um erro.
"O elemento" appSettings " tem um elemento filho inválido 'Tee1'.Lista de possíveis elementos esperados:'adicionar, remover.Clear'."
Como devo representar uma matriz de itens similares?
Solução
Você só pode armazenar key=value
definições <appSettings>
.Se você quiser algo mais rico, você precisará escrever um personalizado manipulador de seção de configuração.
Ver, por exemplo: