以C#

时间:2016-06-15 14:47:41

标签: c# properties configuration settings

我在Visual Studio 2015中获得了Settings-Designer生成的以下示例内容:

<configuration>
  <applicationSettings>
    <Test.Properties.Settings>
      <setting name="LogFileFolder" serializeAs="String">
        <value>logs</value>
      </setting>
      <setting name="sPluginsFolder" serializeAs="String">
        <value>plugins</value>
      </setting>
      <setting name="sLangBaseName" serializeAs="String">
        <value>Test.Resources.Language.Test</value>
      </setting>
      <setting name="ConfirmationExit" serializeAs="String">
        <value>True</value>
      </setting>
    </Test.Properties.Settings>
  </applicationSettings>
</configuration>

现在我想访问变量&#34; ConfirmationExit&#34;在我的代码中。首先,我尝试使用Properties.Settings.Default,它运行良好,但我希望检索更通用的配置键,并提供可供任何其他.NET程序使用的ConfigurationService

我尝试使用ConfigurationManager,但我没有获得不同设置/属性的值。如果我尝试过这样的话,我总是null

string test = ConfigurationManager.AppSettings["ConfirmationExit"];

如何使用Settings-Designer以编程方式读取和写入app.config文件中定义的属性/设置。感谢任何帮助;)

更新

也许我必须提一下,有一个用作XML元素的namspace(我认为这是由设计师生成的还是其他的东西?!):

<Test.Properties.Settings>

里面的

<applicationSettings>

另请注意: 这是一个像这样的项目结构:

1. Project_Common

2. Project_Main

   |-- Project_Common

3. Project_Plugin1

   |-- Project_Common

4. Project_Plugin2

   |-- Project_Common

...

在Project_Common中应该有一个ConfigurationService,它可以检索所有应用程序的所有属性。也许构造函数必须有一个参数来注入设置或其他东西。

2 个答案:

答案 0 :(得分:0)

            string test = Properties.Settings.Default.ConfirmationExit;

来自MSDN:https://msdn.microsoft.com/en-us/library/a65txexh.aspx

答案 1 :(得分:0)

读:     Settings.Default。{} propertyName的 所以在你的情况下,例如     Settings.Default.ConfirmationExit 读取ConfirmationExit-Value

设置它: Settings.Default.ConfirmationExit = false

写:     Settings.Default.Save();