2012-01-09 45 views
0

System.Configuration連接字符串配置類定義:隱ConfigurationElementCollection中部分

ConnectionStringsSection : ConfigurationSection 

ConnectionStringSettingsCollection : ConfigurationElementCollection 

ConnectionStringSettings : ConfigurationElement 

但在配置文件中的部分看起來像:

<connectionStrings> 
    <add name="Foo" connectionString="Whatever" /> 
</connectionStrings> 

所以它看來,ConnectionStringSettingsCollection是隱含的。

我想在我自己的配置部分有相同的行爲來刪除多餘的嵌套層次,但我找不到如何去做。

回答

2

你需要用適當的ConfigurationProperty屬性來裝飾你的默認集合:

[ConfigurationProperty("", Options = ConfigurationPropertyOptions.IsDefaultCollection)] 
+0

,然後做我的索引使用空字符串呢?例如'DonkeyCollection Donkeys {get {return(DonekyCollection)base [「」]; }}'這似乎有效,但看起來有點奇怪。謝謝 – fearofawhackplanet 2012-01-10 14:27:07

+0

是的;它看起來很奇怪,但卻是正確的方法。 – 2012-01-11 00:11:26