我需要在我的自定义配置部分中执行类似以下内容的操作:
我想知道上面所注释的方法是否是我想要的方式...但是我不知道如何执行它...我想要用来访问的键的类型是整数。
假设我有以下配置:
ConfigurationManager.ConnectionStrings["mongodb"]
上面的字符串“mongodb”是我用来访问类型为System.Configuration.ConnectionStringSettings的元素的关键字。我希望对我的自定义集合执行相同的操作:
[ConfigurationCollection(typeof(Question))]
public class QuestionCollection : ConfigurationElementCollection
{
public override bool IsReadOnly()
{
return false;
}
protected override ConfigurationElement CreateNewElement()
{
return new Question();
}
protected override object GetElementKey(ConfigurationElement element)
{
return ((Question)element).id;
}
//Is here?
public Question this[int idx]
{
get {
return (Question)BaseGet(idx);
}
set
{
if (BaseGet(idx) != null)
BaseRemoveAt(idx);
BaseAdd(idx, value);
}
}
}
我想知道上面所注释的方法是否是我想要的方式...但是我不知道如何执行它...我想要用来访问的键的类型是整数。
假设我有以下配置:
<securityQuestions>
<questions>
<add id="3" value="What is your name?" default="true"/>
<add id="4" value="What is your age?"/>
</questions>
</securityQuestions>
如何使用Section.Questions[3](3不是位置,而是键)访问第一个元素(id = 3)?