NameValueConfigurationCollection
Contains a collection of NameValueConfigurationElement objects. This class cannot be inherited.
namespace System.Configuration
{
[ConfigurationCollection(typeof(NameValueConfigurationElement))]
public sealed class NameValueConfigurationCollection : ConfigurationElementCollection
{
private static readonly ConfigurationPropertyCollection s_properties = new ConfigurationPropertyCollection();
protected internal override ConfigurationPropertyCollection Properties => s_properties;
public new NameValueConfigurationElement this[string name] {
get {
return (NameValueConfigurationElement)BaseGet(name);
}
set {
int index = -1;
NameValueConfigurationElement nameValueConfigurationElement = (NameValueConfigurationElement)BaseGet(name);
if (nameValueConfigurationElement != null) {
index = BaseIndexOf(nameValueConfigurationElement);
BaseRemoveAt(index);
}
BaseAdd(index, value);
}
}
public string[] AllKeys => StringUtil.ObjectArrayToStringArray(BaseGetAllKeys());
public void Add(NameValueConfigurationElement nameValue)
{
BaseAdd(nameValue);
}
public void Remove(NameValueConfigurationElement nameValue)
{
if (BaseIndexOf(nameValue) >= 0)
BaseRemove(nameValue.Name);
}
public void Remove(string name)
{
BaseRemove(name);
}
public void Clear()
{
BaseClear();
}
protected override ConfigurationElement CreateNewElement()
{
return new NameValueConfigurationElement();
}
protected override object GetElementKey(ConfigurationElement element)
{
return ((NameValueConfigurationElement)element).Name;
}
}
}