2013-03-27 47 views
0

在C#中使用Properties.Settings.Default配置设置的最佳做法是什么?我通常会看到它,但我经常不知道何时应该使用它,而与何时应该硬编码值相比。谢谢!什么时候在C#中使用Properties.Settings.Default C#

+0

MSDN - http://msdn.microsoft.com/en-us/library/bb397759.aspx – MethodMan 2013-03-27 20:56:50

+0

该类型的属性用于最终用户可能更改的内容。 – 2013-03-27 20:58:25

回答

1

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

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

例子:

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

再后来就称之为

SomeReferenceClass.TimeOfDay; 
+0

我的主要关注点是在我的代码中有大量像'Properties.Settings.Default.TimeOfDay'这样的文本,只需要一个名为'timeOfDay'的变量即可。 – grantmcconnaughey 2013-03-27 20:57:20

+0

@grantmc不知道它是否有帮助,但增加了一些我的答案。这样做的途径也意味着如果您的配置文件中的属性名称更改它只需要在代码中更新一次,因为一切都会引用该属性。 – cdlong 2013-03-27 21:03:12

0

我的经验法则一直认为,如果属性的值需要改变,而无需修改代码,然后让他们一个外部/可配置的属性。如果你永远不需要改变它们的值,那么它们是一个常量并且可以是硬编码的。

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

0

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

我永远不会硬编码的设置,可能会根据任何数量的变量,如环境,用户,应用程序或其他任何变化。

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

相关问题