ConfigurationManager:总是键值对?

ConfigurationManager: always key-value pairs?

我尝试使用 ConfigurationManager 来配置我的 C# 应用程序。 CM 是否总是这样,只处理键值对? 喜欢

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

或者我也可以使用

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

您可以使用自定义配置部分:https://docs.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/

不过要小心。配置应用于应用程序常量。上帝和他们的能力看起来更适合数据源(虽然我猜这只是一个例子)。