【问题标题】:When to use Properties.Settings.Default in C#何时在 C# 中使用 Properties.Settings.Default
【发布时间】:2013-03-18 03:29:13
【问题描述】:

在 C# 中使用 Properties.Settings.Default 配置设置的最佳实践是什么?我经常看到它,但我经常不知道什么时候使用它,什么时候应该硬编码值。谢谢!

【问题讨论】:

标签: c# .net properties configuration settings


【解决方案1】:

基本上,我尽量避免在代码中硬编码值,主要是因为如果需要更改它们的值,则需要重新编译应用程序。

拥有某种通过公共属性公开所有设置的通用对象通常是有益的,这样您就可以在整个应用程序中以相同的方式引用设置。

例子:

public static SomeReferenceClass
{
     public static string TimeOfDay { get{ return Properties.Settings.Default.TimeOfDay; }}
}

稍后再调用它

SomeReferenceClass.TimeOfDay;

【讨论】:

  • 我主要担心的是在我的代码中出现像Properties.Settings.Default.TimeOfDay 这样的大行文本,而我可以简单地使用一个名为timeOfDay 的变量。
  • @grantmc 不确定它是否有帮助,但在我的回答中添加了更多内容。这样做还意味着如果配置文件中的属性名称发生更改,则只需在代码中更新一次,因为其他所有内容都会引用该属性。
【解决方案2】:

就个人而言,我在未指定或保留用户或应用程序设置时使用默认设置。

我绝不会硬编码可能会根据环境、用户、应用程序等任何数量的变量而改变的设置。

我通常创建实现接口的设置提供程序。这样,您可以轻松更改如何收集配置设置,而无需更改业务逻辑。

【讨论】:

    【解决方案3】:

    我的经验法则一直是,如果属性的值需要在不修改代码的情况下更改,则将它们设为外部/可配置属性。如果您永远不需要更改它们的值,那么它们就是一个常量并且可以硬编码。

    基本上,如果需要配置/更改这些值,请将它们放在Properties.Settings.Default 中。您可以对常量进行硬编码。

    【讨论】:

      猜你喜欢
      • 2016-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多