2015-09-04 49 views
0

我需要添加到我的應用程序的能力來讀取配置文件,在那裏它們被存儲在一個層次結構的鍵/值信息:通用命名的鍵/值組在C#中的app.config/web.config中

<appSettings> 
<keygroup key="group1"> 
    <add key="host" value="host.address"/> 
    <add key="login" value="login.name"/> 
    <add key="password" value="pwd"/> 
    <keygroup key="nested1"> 
    <add key="GroupsCanBe" value="Nested, too"/> 
    </keygroup> 
</keygroup> 
<keygroup key="group2"> 
    <add key="host" value="host.address"/> 
    <add key="login" value="login.name"/> 
    <add key="password" value="pwd"/> 
</keygroup> 
</appSettings> 

我知道我可以創建自定義部分下,通過聲明元素名稱和鏈接類下,但我希望有一些現有的類已經這樣做。

+0

即使有效? –

回答

0

我檢查的源代碼ConfigurationManager和AppSettings的聲明爲的NameValueCollection

的NameValueCollection的總結評論說

「代表相關System.String鍵和 系統的集合.String值可以通過鍵或 索引進行訪問。「

所以通過使用AppSettings你不能有一個層次結構。正如您已經意識到的那樣,配置文件的擴展點正在創建一個自定義的configSection。開箱即用的appSettings只是一個普通的鍵值集合

+0

好吧,但也許你知道如何引入具有「鍵」屬性的自定義部分,並且可以通過此屬性的值檢索? – Passiday

+0

我覺得我很困惑appSettings的例子。你能否更新這個問題,你想如何使app.config看起來像以及如何使用該文件中的設置?我不確定我們目前在同一頁面上。對於那個很抱歉。 –

+0

哦,我明白了,appSettings元素用於appSettings相關的子元素,沒有額外的東西。所以也許我必須建立自己的XML數據處理器,可以通過名稱訪問層次結構。或者也許已經有一些很好的課程可用。 – Passiday