在C#中使用Properties.Settings.Default配置设置的最佳做法是什么?我通常会看到它,但我经常不知道何时应该使用它,而与何时应该硬编码值相比。谢谢!什么时候在C#中使用Properties.Settings.Default C#
回答
基本上,我尝试避免代码中的硬编码值,主要是因为如果需要更改它们的值,它需要重新编译应用程序。
通过某种通用对象通过公共属性公开所有设置通常是有益的,这样您可以在整个应用程序中以相同方式引用设置。
例子:
public static SomeReferenceClass
{
public static string TimeOfDay { get{ return Properties.Settings.Default.TimeOfDay; }}
}
再后来就称之为
SomeReferenceClass.TimeOfDay;
我的主要关注点是在我的代码中有大量像'Properties.Settings.Default.TimeOfDay'这样的文本,只需要一个名为'timeOfDay'的变量即可。 – grantmcconnaughey 2013-03-27 20:57:20
@grantmc不知道它是否有帮助,但增加了一些我的答案。这样做的途径也意味着如果您的配置文件中的属性名称更改它只需要在代码中更新一次,因为一切都会引用该属性。 – cdlong 2013-03-27 21:03:12
我的经验法则一直认为,如果属性的值需要改变,而无需修改代码,然后让他们一个外部/可配置的属性。如果你永远不需要改变它们的值,那么它们是一个常量并且可以是硬编码的。
基本上,如果这些值需要配置/更改将它们放在Properties.Settings.Default
。你可以硬编码常量。
个人而言,当用户或应用程序设置未指定或保留时,我使用默认设置。
我永远不会硬编码的设置,可能会根据任何数量的变量,如环境,用户,应用程序或其他任何变化。
我通常会创建实现接口的设置提供程序。这样,您可以轻松更改如何收集配置设置,而无需更改业务逻辑。
- 1. 什么时候在C#中使用类?
- 2. 什么时候在C++中使用“declare”?
- 3. 什么时候使用goto * expr;在C?
- 4. 什么时候在C++中使用extern“C”?
- 5. 什么时候和为什么我会在C++中使用abs
- 6. 什么时候在C++中破坏vtable?
- 7. 什么时候在C++中需要'int'?
- 8. 什么类型的变量Properties.Settings.Default c#wpf
- 9. C#多态 - 为什么&什么时候
- 10. 什么时候在本文中使用`this`在C++
- 11. 目标C什么时候使用alloc和什么时候不到
- 12. 我们应该什么时候在C#中使用事件
- 13. 什么时候使用cerr和当cout在C++中?
- 14. 什么时候应该out和ref参数在C#中使用?
- 15. C++ - 什么时候应该在类中使用指针成员
- 16. 什么时候在Objective C开发中使用框架
- 17. 你什么时候在C#中使用代表?
- 18. 什么时候在c#中使用字典?
- 19. 什么时候应该在C#中使用属性?
- 20. 什么时候在C++中使用新的?
- 21. 什么时候应该在C++/CX中使用ref类?
- 22. 什么时候应该在C++中使用字面类?
- 23. 什么时候在C#中使用堆栈<T>集合?
- 24. 什么时候在Objective-C中使用基元?
- 25. 什么时候在C中使用ntohs和ntohl?
- 26. 什么时候应该在objective-c中使用nil?
- 27. 我们什么时候在Objective-C中使用static __unsafe_unretained?
- 28. 什么时候我们在C#中使用嵌套类?
- 29. 什么时候在C++中使用__declspec(dllexport)
- 30. 什么时候在C#中使用get和set属性?
MSDN - http://msdn.microsoft.com/en-us/library/bb397759.aspx – MethodMan 2013-03-27 20:56:50
该类型的属性用于最终用户可能更改的内容。 – 2013-03-27 20:58:25