ConfigurationElementCollection Class

Represents a configuration element containing a collection of child elements.

Namespace: System.Configuration
Assembly: System.Configuration (in system.configuration.dll)

public ref class ConfigurationElementCollection abstract : public ConfigurationElement, ICollection, IEnumerable
public abstract class ConfigurationElementCollection extends ConfigurationElement implements ICollection, IEnumerable
public abstract class ConfigurationElementCollection extends ConfigurationElement implements ICollection, IEnumerable
Not applicable.

The ConfigurationElementCollection represents a collection of elements within a configuration file.


An element within a configuration file refers to a basic XML element or a section. A simple element is an XML tag with related attributes, if any. A simple element constitutes a section. Complex sections can contain one or more simple elements, a collection of elements, and other sections.

You use the ConfigurationElementCollection to work with a collection of ConfigurationElement objects. Implement this class to add collections of custom ConfigurationElement elements to a ConfigurationSection.

Notes to Implementers: You can use a programmatic or a declarative (attributed) coding model to create a custom configuration element. The programmatic model requires that for each element attribute you create a property to get and set its value, and that you add it to the internal property bag of the underlying ConfigurationElement base class. The declarative model, also referred to as the attributed model, allows you to define an element attribute by using a property and configuring it with attributes. These attributes instruct the ASP.NET configuration system about the property types and their default values. ASP.NET can use reflection to obtain this information and then create the element property objects and perform the required initialization.

The following code example shows how to implement a custom ConfigurationElementCollection. For examples of related custom types, see ConfigurationSection and ConfigurationElement.

No code example is currently available or this language may not be supported.

The following configuration excerpt is used by the previous example.

<?xml version="1.0" encoding="utf-8"?>
    <section name="MyUrls"
      type="Samples.AspNet.UrlsSection, ConfigurationElement, Version=, Culture=neutral, PublicKeyToken=null" 
      restartOnExternalChanges="true" />
  <MyUrls lockAllElementsExcept="urls">
      name="Microsoft" url="" port="0" />
        <clear />
          name="Microsoft" url="" port="0"
          lockAllAttributesExcept="port" />
          name="Contoso" url="" port="8080"
          lockAllAttributesExcept="port" lockItem="true" />

       Derived Classes

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0

Community Additions