app.config に次のセクション構造を持たせようとしています
<MyConfig>
<NewsFeeds site="abc">
<add name="first" />
</NewsFeeds>
<NewsFeeds site="zyx">
<add name="another" />
</NewsFeeds>
</MyConfig>
MyConfig
セクションは既に機能していますが、NewsFeed
コレクションをどのようにコーディングする必要があるか、またはこの構造が可能かどうかさえわかりません。現在、これまでに次のクラスがあります。
[ConfigurationCollection(typeof(NewsFeedConfig))]
public class NewsFeedConfigCollection : ConfigurationElementCollection
{
protected override ConfigurationElement CreateNewElement()
{
return new NewsFeedConfig();
}
protected override object GetElementKey(ConfigurationElement element)
{
return ((NewsFeedConfig)(element)).Name;
}
public NewsFeedConfig this[int idx] { get { return (NewsFeedConfig)BaseGet(idx); } }
}
public class NewsFeedConfig : ConfigurationElement
{
[ConfigurationProperty("name", IsKey = true, IsRequired = true)]
public string Name
{
get { return (string)base["name"]; }
set { base["name"] = value; }
}
[ConfigurationProperty("source", IsRequired = true)]
public string Source
{
get { return (string)base["source"]; }
set { base["source"] = value; }
}
}
Site
ただし、これにはすべてのニュース フィードが 1 つのニュース フィード コレクションの下にある必要があり、各要素にプロパティを追加して手動で解析する必要があります。それは問題ありませんが、上で定義した XML が機能するような方法でそれを行うことは可能でしょうか?