在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++中使用「declare」?
- 2. 什麼時候使用goto * expr;在C?
- 3. 什麼時候在C++中使用extern「C」?
- 4. 什麼時候和爲什麼我會在C++中使用abs
- 5. 什麼類型的變量Properties.Settings.Default c#wpf
- 6. 什麼時候在本文中使用`this`在C++
- 7. 目標C什麼時候使用alloc和什麼時候不到
- 8. 什麼時候應該out和ref參數在C#中使用?
- 9. 什麼時候使用cerr和當cout在C++中?
- 10. 什麼時候在Objective C開發中使用框架
- 11. 什麼時候應該在C#中使用屬性?
- 12. 我們應該什麼時候在C#中使用事件
- 13. 我們什麼時候在Objective-C中使用static __unsafe_unretained?
- 14. 什麼時候在C++中使用新的?
- 15. 什麼時候我們在C#中使用嵌套類?
- 16. 什麼時候應該在objective-c中使用nil?
- 17. 什麼時候應該在C++/CX中使用ref類?
- 18. 你什麼時候在C#中使用代表?
- 19. 什麼時候在C#中使用get和set屬性?
- 20. 什麼時候在Objective-C中使用基元?
- 21. 什麼時候在C++中使用__declspec(dllexport)
- 22. 什麼時候在C中使用ntohs和ntohl?
- 23. C++ - 什麼時候應該在類中使用指針成員
- 24. 什麼時候在C#中使用堆棧<T>集合?
- 25. 在C#中,什麼時候應該使用一個結構,什麼時候應該使用一個類?
- 26. 什麼時候最好用C++模板?
- 27. 什麼是C++中的「set」?他們什麼時候有用?
- 28. 什麼是複製構造函數,什麼時候應該在C#中使用?
- 29. intn_t什麼時候使用它,什麼時候不使用
- 30. 什麼時候應該在Objective C類上使用前綴?
MSDN - http://msdn.microsoft.com/en-us/library/bb397759.aspx – MethodMan 2013-03-27 20:56:50
該類型的屬性用於最終用戶可能更改的內容。 – 2013-03-27 20:58:25