【问题标题】:Suggest a method for config file建议配置文件的方法
【发布时间】:2023-03-27 02:49:01
【问题描述】:

我有一个 c# 应用程序,其中我有方法说,method1,method2 .... 方法 n。这些方法中的每一个都是特征。我不希望我的应用程序一直执行所有功能,但是它应该是可配置的。所以我需要一个配置文件来执行哪些功能。请建议我一种方法来做到这一点。我正在考虑使用 XML 文件来存储方法名称并使用反射来调用它们。但是,有什么专业的方法可以做到这一点吗?

【问题讨论】:

  • 是的,app.configweb.config

标签: c# xml config


【解决方案1】:

C# 应用程序有一个 app.config(用于桌面应用程序)或 web.config(用于 asp.net 应用程序)文件。在此文件中,您可以指定设置,如下所示:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
  <appSettings>
    <add key="something" value="1"/>
  </appSettings>
</configuration>

在您的应用程序代码中,您可以像这样访问这些设置:

var something = ConfigurationManager.AppSettings["something"];

注意:您必须将System.Configuration 的引用添加到 访问ConfigurationManager

当您编译您的应用程序时,app.config 会转换为 YourApp.exe.config,您可以将其与您的应用程序一起部署以控制设置,而无需重新编译您的应用程序。

您可以在 MSDN 上阅读有关 configuration managerapp.settings 的更多信息。

【讨论】:

    【解决方案2】:

    您的问题包含几个子问题。专业地工作 imo 始于将问题分解为最基本的部分。

    让我们看看:

    • 数据应该去哪里?可以想到注册表的文本文件。
    • 应该取什么名字?可读且有意义,例如 YourApplication.config。
    • 谁创建和存储数据?

    你没有告诉我们;可以是相同的应用程序或不同的应用程序 或人类。在后一种情况下,确保数据不是 拼写错误。通常的方法是列出所有有效的名称并使用 用户只需在行首添加或删除注释标记。

    • 它们应该如何存储?没关系,除非:见上文
    • 最后应该如何使用它们?使用反射似乎有点矫枉过正,除非您有一个系统,您事先不知道所有可能的功能,因为可以插入新功能。否则,只需使用 if else if 块或更花哨的东西创建 Dictionary&lt;string, Action&gt; 或类似..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-26
      • 2010-12-07
      • 2016-05-06
      • 2018-04-30
      • 2012-01-13
      • 1970-01-01
      • 2010-11-22
      • 1970-01-01
      相关资源
      最近更新 更多