ConfigurationManager: всегда пары ключ-значение?

#c# #wpf #configurationmanager

#c# #wpf #configurationmanager

Вопрос:

Я пытаюсь использовать ConfigurationManager для настройки моего приложения на c #. Всегда ли так, что CM выполняет только пары ключ-значение? как с

  <add key="k1" value="v1"/>
  

или я могу также использовать такие элементы, как

  <God Name="Shiva" Spouse="Parvati" Legs="2 Arms="6"/>
  

Ответ №1:

Существуют разделы пользовательской конфигурации, которые вы можете использовать: https://learn.microsoft.com/en-us/dotnet/api/system.configuration.configurationsection?view=dotnet-plat-ext-5.0

Замените CustomSection на God , и все готово. Вам нужно написать дополнительный код, чтобы прочитать их, если конечно, но это вполне выполнимо.

 <?xml version="1.0" encoding="utf-8"?>
 <configuration>  
   <configSections>
     <section name="CustomSection" type="Samples.AspNet. CustomSection, CustomConfigurationSection, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" allowDefinition="Everywhere" allowExeDefinition="MachineToApplication" restartOnExternalChanges="true" />
   </configSections>  

   <CustomSection fileName="default.txt" maxUsers="1000" maxIdleTime="00:15:00" /> 

 </configuration>
  

Еще один отличный пример можно найти здесь: https://www.jokecamp.com/blog/net-custom-configuration-section-collection-and-elements /

Однако будьте осторожны. Конфигурация должна использоваться для констант приложения. Божьи и их способности выглядят как более подходящие для источника данных (хотя, я думаю, это был всего лишь пример).