【问题标题】:How to use app settings with class libraries on winforms?如何在 winforms 上将应用程序设置与类库一起使用?
【发布时间】:2011-06-15 05:58:56
【问题描述】:

如果我为我的主应用创建一个 app.config,我可以使用它:

string test = Properties.Settings.Default.LibTest;

您可以在 app.config 的哪个位置找到:

<applicationSettings>
<RManager.Properties.Settings>
  <setting name="LibTest" serializeAs="String">
    <value>ola lib</value>
  </setting>
</RManager.Properties.Settings>

问题是,如果我有一个类库,有没有办法使用以下方法访问相同的设置:

string libString = Properties.Settings.Default.LibTest;

如果不是,哪种解决方案最适合从主应用程序访问设置?

【问题讨论】:

    标签: c# .net winforms app-config


    【解决方案1】:

    如果您的图书馆可以从主应用程序获取属性,我会说这是不正确的。我建议以下:

    在库(或一些公共库)中创建另一个静态类(例如 SettingsManager),并在应用程序启动后将数据从 appconfig 填充到该公共静态类(SettingsManager)。您可以在应用程序和 dll 中使用该类(SettingsManager)属性。

    如果您的 dll 和您的应用有很多绑定,那么您应该考虑将源从 dll 获取到 exe 应用,在这种情况下您将能够访问 app.config 设置。

    【讨论】:

    • 到目前为止,这似乎是迄今为止最好的解决方案。
    【解决方案2】:

    基本上您需要公开设置并从另一个程序集访问它们。

    这是我对之前几个性质相似的问题的回答:

    【讨论】:

    • 第一个选项似乎更好,但是如何读取设置?例如,我在问题中包含的“LibTest”值?谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-26
    • 1970-01-01
    • 1970-01-01
    • 2021-06-30
    相关资源
    最近更新 更多