2011-04-19 79 views
0

我一直在關注着在我們的承包商之一寫了一些項目,他似乎是存儲大量的在應用程序的主「的app.config」文件中的設置,使用,例如:跨項目引用My.Settings?

<add key="SomeClass/SomeValue" value="False"/> 

,然後使用

ConfigurationManager.AppSettings.Get("SomeClass/SomeValue") 

雖然這工作,我想,這也非常吸引用在「SomeProjectLibrary」中的「SomeClass的」類中的鍵值。我想知道是否有人知道在「app.config」文件中創建變量的更優雅的方式,然後可以在解決方案中的各種應用程序中使用這些變量?

希望我只是失去了一些盲目明顯的東西。

+0

什麼是不優雅樣?它是關鍵的名字嗎?還是它們都被集成到一個配置文件中? – taylonr 2011-04-19 10:29:18

+0

這只是app.config文件是最終的Windows Forms項目的成員,而「SomeLibraryProject」依賴於運行項目的app.config文件中這些鍵的存在。這部分對我來說似乎很混亂。 – Frosty840 2011-04-19 10:33:59

回答

1

那麼你可以做一個工具類,你會我們讀你的配置文件。如果你把這個類放在一個單獨的項目中(比如說一個公用項目),那麼你可以從你所有的其他項目中引用這個項目。例如:

Public NotInheritable Class ConfigReader 
    Private Shared reader As New AppSettingsReader() 

    Public Shared ReadOnly Property SomeValue() As String 
     Get 
      Return reader.GetValue("SomeClass/SomeValue", GetType(String)).ToString() 
     End Get 
    End Property 

//etc.. 

用法:

string someValue = ConfigReader.SomeValue 
+0

我喜歡那樣。這種尖叫聲「膨脹」,但從這些app.config文件的外觀來看,其他方法也是如此,所以我沒有真正失去任何東西。乾杯。 – Frosty840 2011-04-19 11:59:26