2013-03-27 53 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

個人而言,當用戶或應用程序設置未指定或保留時,我使用默認設置。

我永遠不會硬編碼的設置,可能會根據任何數量的變量,如環境,用戶,應用程序或其他任何變化。

我通常會創建實現接口的設置提供程序。這樣,您可以輕鬆更改如何收集配置設置,而無需更改業務邏輯。

相關問題