【发布时间】:2013-03-18 03:29:13
【问题描述】:
在 C# 中使用 Properties.Settings.Default 配置设置的最佳实践是什么?我经常看到它,但我经常不知道什么时候使用它,什么时候应该硬编码值。谢谢!
【问题讨论】:
-
这种类型的属性适用于最终用户可能更改的内容。
标签: c# .net properties configuration settings
在 C# 中使用 Properties.Settings.Default 配置设置的最佳实践是什么?我经常看到它,但我经常不知道什么时候使用它,什么时候应该硬编码值。谢谢!
【问题讨论】:
标签: c# .net properties configuration settings
基本上,我尽量避免在代码中硬编码值,主要是因为如果需要更改它们的值,则需要重新编译应用程序。
拥有某种通过公共属性公开所有设置的通用对象通常是有益的,这样您就可以在整个应用程序中以相同的方式引用设置。
例子:
public static SomeReferenceClass
{
public static string TimeOfDay { get{ return Properties.Settings.Default.TimeOfDay; }}
}
稍后再调用它
SomeReferenceClass.TimeOfDay;
【讨论】:
Properties.Settings.Default.TimeOfDay 这样的大行文本,而我可以简单地使用一个名为timeOfDay 的变量。
就个人而言,我在未指定或保留用户或应用程序设置时使用默认设置。
我绝不会硬编码可能会根据环境、用户、应用程序等任何数量的变量而改变的设置。
我通常创建实现接口的设置提供程序。这样,您可以轻松更改如何收集配置设置,而无需更改业务逻辑。
【讨论】:
我的经验法则一直是,如果属性的值需要在不修改代码的情况下更改,则将它们设为外部/可配置属性。如果您永远不需要更改它们的值,那么它们就是一个常量并且可以硬编码。
基本上,如果需要配置/更改这些值,请将它们放在Properties.Settings.Default 中。您可以对常量进行硬编码。
【讨论】: