gpt4 book ai didi

c# - 基于 app.config 值的不同 app.config appSettings

转载 作者:行者123 更新时间:2023-11-30 16:08:23 24 4
gpt4 key购买 nike

我有 app.config

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<!--One set of properties-->
<add key="Condition" value="A"/>
<add key="DependingPropertyA" value="B"/>
<add key="DependingPropertyB" value="C"/>
<!--Another set of properties-->
<add key="Condition" value="B"/>
<add key="DependingPropertyA" value="D"/>
<add key="DependingPropertyB" value="E"/>
</appSettings>
</configuration>

所以我想 if Condition == A 定义一组属性,if Condition == B - 不同的属性集,这样当我在 A 和 B 之间切换时,我不需要更改所有其他属性。可能吗?

最佳答案

如果每个“条件”(也许是环境?)的属性名称都相同,那么您可以通过一些编码技巧来做到这一点:

(应用程序配置:)

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>

<!--Condition 'selector', change value to 'CondB' when you want to switch-->
<add key="Condition" value="CondA"/>

<add key="CondA.DependingPropertyA" value="B"/>
<add key="CondA.DependingPropertyB" value="C"/>
<add key="CondB.DependingPropertyA" value="D"/>
<add key="CondB.DependingPropertyB" value="E"/>
</appSettings>
</configuration>

然后,假设在您的 C# .NET 代码中:

string keyPrepend = System.Configuration.ConfigurationManager.AppSettings["Condition"];

string propAValue = System.Configuration.ConfigurationManager.AppSettings[String.Format("{0}.{1}", keyPrepend, "DependingPropertyA")];
string propBValue = System.Configuration.ConfigurationManager.AppSettings[String.Format("{0}.{1}", keyPrepend, "DependingPropertyB")];

这让您可以根据单个条件键的值切换要使用的键/值集。

关于c# - 基于 app.config 值的不同 app.config appSettings,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29383257/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com