This topic has not yet been rated - Rate this topic

SectionInformation Class

Contains metadata about an individual section within the configuration hierarchy. This class cannot be inherited.

System.Object
  System.Configuration.SectionInformation

Namespace:  System.Configuration
Assembly:  System.Configuration (in System.Configuration.dll)
public sealed class SectionInformation

The SectionInformation type exposes the following members.

  Name Description
Public property AllowDefinition Gets or sets a value that indicates where in the configuration file hierarchy the associated configuration section can be defined.
Public property AllowExeDefinition Gets or sets a value that indicates where in the configuration file hierarchy the associated configuration section can be declared.
Public property AllowLocation Gets or sets a value that indicates whether the configuration section allows the location attribute.
Public property AllowOverride Gets or sets a value that indicates whether the associated configuration section can be overridden by lower-level configuration files.
Public property ConfigSource Gets or sets the name of the include file in which the associated configuration section is defined, if such a file exists.
Public property ForceSave Gets or sets a value that indicates whether the associated configuration section will be saved even if it has not been modified.
Public property InheritInChildApplications Gets or sets a value that indicates whether the settings that are specified in the associated configuration section are inherited by applications that reside in a subdirectory of the relevant application.
Public property IsDeclarationRequired Gets a value that indicates whether the configuration section must be declared in the configuration file.
Public property IsDeclared Gets a value that indicates whether the associated configuration section is declared in the configuration file.
Public property IsLocked Gets a value that indicates whether the associated configuration section is locked.
Public property IsProtected Gets a value that indicates whether the associated configuration section is protected.
Public property Name Gets the name of the associated configuration section.
Public property OverrideMode Gets or sets the OverrideMode enumeration value that specifies whether the associated configuration section can be overridden by child configuration files.
Public property OverrideModeDefault Gets or sets a value that specifies the default override behavior of a configuration section by child configuration files.
Public property OverrideModeEffective Gets the override behavior of a configuration section that is in turn based on whether child configuration files can lock the configuration section.
Public property ProtectionProvider Gets the protected configuration provider for the associated configuration section.
Public property RequirePermission Gets a value that indicates whether the associated configuration section requires access permissions.
Public property RestartOnExternalChanges Gets or sets a value that specifies whether a change in an external configuration include file requires an application restart.
Public property SectionName Gets the name of the associated configuration section.
Public property Type Gets or sets the section class name.
Top
  Name Description
Public method Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method ForceDeclaration() Forces the associated configuration section to appear in the configuration file.
Public method ForceDeclaration(Boolean) Forces the associated configuration section to appear in the configuration file, or removes an existing section from the configuration file.
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetParentSection Gets the configuration section that contains the configuration section associated with this object.
Public method GetRawXml Infrastructure. Returns an XML node object that represents the associated configuration-section object.
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method ProtectSection Marks a configuration section for protection.
Public method RevertToParent Causes the associated configuration section to inherit all its values from the parent section.
Public method SetRawXml Infrastructure. Sets the object to an XML representation of the associated configuration section within the configuration file.
Public method ToString Returns a string that represents the current object. (Inherited from Object.)
Public method UnprotectSection Removes the protected configuration encryption from the associated configuration section.
Top

The SectionInformation object contains the metadata about an individual section within the configuration hierarchy. This object can be used in order to validate and change the properties of an individual section.

The SectionInformation class is introduced in the .NET Framework version 4.

The following example shows how to get the SectionInformation metadata that is associated with a ConfigurationSection object.


static public SectionInformation 
    GetSectionInformation()
{

    // Get the current configuration file.
    System.Configuration.Configuration config =
            ConfigurationManager.OpenExeConfiguration(
            ConfigurationUserLevel.None);

    // Get the section.
    UrlsSection section =
        (UrlsSection)config.GetSection("MyUrls");


    SectionInformation sInfo = 
        section.SectionInformation;

    return sInfo;

}


The following example is an excerpt of the configuration file that is used by the previous example.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="MyUrls" type="Samples.AspNet.UrlsSection,
      ConfigurationElement, Version=1.0.0.0, Culture=neutral,
      PublicKeyToken=null" allowDefinition="Everywhere"
      allowExeDefinition="MachineToApplication"
      restartOnExternalChanges="true" />
  </configSections>
  <MyUrls name="MyFavorites">
    <simple name="Contoso" url="http://www.contoso.com" port="8080" />
    <urls>
      <clear />
      <add name="Microsoft" url="http://www.microsoft.com" port="0" />
    </urls>
  </MyUrls>
</configuration>

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ
Mistake
"The SectionInformation class is introduced in the .NET Framework version 4."
This class was effectively introduced in 2.0. Also this problem persists in other versions of this document.