Ne ConfigurationManager Éléments XML en charge les tableaux?
-
22-12-2019 - |
Question
Je suis à l'aide du Gestionnaire de Configuration pour stocker les paramètres dans une application C#.J'ai quelques paramètres individuels et j'ai un tableau de variables de paramètres.
La configuration XML ressemble à quelque chose comme ceci:
<?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>
Le Tee entrées sans les données sont nulles éléments.
Lorsque je charge le XML généré le texte dans le Visual Studio 2010 éditeur, il montre TEE1 a une erreur.
“L'élément " appSettings’ a une défaillance de l'élément enfant ‘Tee1’.Liste des éléments possibles attendu:‘ajouter, supprimer.En clair".”
Comment dois-je représenter un tableau d'objets semblables?
La solution
Vous ne pouvez stocker qu' key=value
les paramètres dans <appSettings>
.Si vous voulez quelque chose de plus riche, vous aurez besoin d'écrire une coutume gestionnaire de section de configuration.
Voir, par exemple: