2
我想做一個相當簡單的自定義配置部分。我的班級:自定義配置部分的問題
namespace NetCenterUserImport
{
public class ExcludedUserList : ConfigurationSection
{
[ConfigurationProperty("name")]
public string Name
{
get { return (string)base["name"]; }
}
[ConfigurationProperty("excludedUser")]
public ExcludedUser ExcludedUser
{
get { return (ExcludedUser)base["excludedUser"]; }
}
[ConfigurationProperty("excludedUsers")]
public ExcludedUserCollection ExcludedUsers
{
get { return (ExcludedUserCollection)base["excludedUsers"]; }
}
}
[ConfigurationCollection(typeof(ExcludedUser), AddItemName = "add")]
public class ExcludedUserCollection : ConfigurationElementCollection
{
protected override ConfigurationElement CreateNewElement()
{
return new ExcludedUserCollection();
}
protected override object GetElementKey(ConfigurationElement element)
{
return ((ExcludedUser)element).UserName;
}
}
public class ExcludedUser : ConfigurationElement
{
[ConfigurationProperty("name")]
public string UserName
{
get { return (string)this["name"]; }
set { this["name"] = value; }
}
}
}
我的app.config是:
<excludedUserList name="test">
<excludedUser name="Hello" />
<excludedUsers>
<add name="myUser" />
</excludedUsers>
當我嘗試使用,以獲得自定義配置部分:
var excludedUsers = ConfigurationManager.GetSection("excludedUserList");
我得到一個異常說
「無法識別的屬性'名稱'。」
我敢肯定我錯過了一些簡單的東西,但我看了十幾個例子和答案在這裏,似乎無法找到我要去哪裏錯了。
'excludedUserList'是節的開始嗎?如果是這樣,我不認爲你可以有一個屬性附加到它。 – rbm
那麼不是真的 - 檢查這裏:http://stackoverflow.com/questions/9187523/adding-custom-attributes-to-custom-provider-configuration-section-in-app-config – rbm
即使沒有excludedUserList屬性我得到同樣的錯誤。我只添加了確定錯誤出現的時間。我向該部分添加了自定義屬性,然後將該自定義屬性添加到該部分,並且當這兩者都工作時,將自定義集合添加回來,並且一切都再次破碎。 – DrewB