ConfigurationSectionGroup Class

Definition

Представляет группу взаимосвязанных разделов в файле конфигурации.Represents a group of related sections within a configuration file.

public ref class ConfigurationSectionGroup
public class ConfigurationSectionGroup
type ConfigurationSectionGroup = class
Public Class ConfigurationSectionGroup
Inheritance
ConfigurationSectionGroup
Derived

Examples

В следующем примере показано, как использовать класс ConfigurationSectionGroup для получения параметров конфигурации.The following example shows how to use the ConfigurationSectionGroup class to retrieve configuration settings. В качестве примера можно привести консольное приложение, которое считывает параметры конфигурации и записывает сведения о каждой группе разделов конфигурации и разделы в ней в консоль.The example is a console application that reads configuration settings and writes information about each configuration section group and the sections in it to the console.

Метод Main загружает параметры конфигурации в объект Configuration, извлекает коллекцию SectionGroups из объекта Configuration, а затем вызывает метод ShowSectionGroupCollectionInfo для вывода значений свойства раздела.The Main method loads the configuration settings into a Configuration object, retrieves the SectionGroups collection from the Configuration object, and then calls the ShowSectionGroupCollectionInfo method to display the section property values.

Метод ShowSectionGroupCollectionInfo выполняет итерацию по группам разделов и вызывает метод ShowSectionGroupInfo для каждого из них.The ShowSectionGroupCollectionInfo method iterates through the section groups and calls the ShowSectionGroupInfo method for each one.

Метод ShowSectionGroupInfo отображает имя группы разделов, некоторые значения свойств и имена разделов, которые в нем содержатся.The ShowSectionGroupInfo method displays the name of the section group, some property values, and the names of the sections that it contains. Если группа разделов содержит группы разделов, этот метод вызывает ShowSectionGroupCollectionInfo рекурсивно, чтобы отобразить эти группы разделов.If the section group contains section groups, this method calls ShowSectionGroupCollectionInfo recursively to display those section groups.

Поле indentLevel используется для добавления пробелов слева от отображаемых строк для отображения логических группирований.The indentLevel field is used to add spaces to the left side of displayed lines to show logical groupings. Все строки ограничены 79 символами текста, чтобы избежать переноса строк, что усложняет различение логической группировки.All lines are limited to 79 characters of text to avoid line wrapping, which would make it harder to distinguish the logical groupings.

using System;
using System.Collections;
using System.Configuration;

namespace Samples.AspNet
{
    class UsingConfigurationSectionGroup
    {
        static int indentLevel = 0;

        static void Main(string[] args)
        {

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

            // Get the collection of the section groups.
            ConfigurationSectionGroupCollection sectionGroups =
                config.SectionGroups;

            // Display the section groups.
            ShowSectionGroupCollectionInfo(sectionGroups);
        }

        static void ShowSectionGroupCollectionInfo(
            ConfigurationSectionGroupCollection sectionGroups)
        {
            foreach (ConfigurationSectionGroup sectionGroup in sectionGroups)
            {
                ShowSectionGroupInfo(sectionGroup);
            }
        }

        static void ShowSectionGroupInfo(
            ConfigurationSectionGroup sectionGroup)
        {
            // Get the section group name.
            indent("Section Group Name: " + sectionGroup.Name);

            // Get the fully qualified group name.
            indent("Section Group Name: " + sectionGroup.SectionGroupName);

            indentLevel++;

            indent("Type: " + sectionGroup.Type);
            indent("Is Group Required?: " + 
                sectionGroup.IsDeclarationRequired);
            indent("Is Group Declared?: " + sectionGroup.IsDeclared);
            indent("Contained Sections:");

            indentLevel++;
            foreach (ConfigurationSection section 
                in sectionGroup.Sections)
            {
                indent("Section Name:" + section.SectionInformation.Name);
            }
            indentLevel--;

            // Display contained section groups if there are any.
            if (sectionGroup.SectionGroups.Count > 0)
            {
                indent("Contained Section Groups:");

                indentLevel++;
                ConfigurationSectionGroupCollection sectionGroups =
                    sectionGroup.SectionGroups;
                ShowSectionGroupCollectionInfo(sectionGroups);
            }

            Console.WriteLine("");
            indentLevel--;
        }

        static void indent(string text)
        {
            for (int i = 0; i < indentLevel; i++)
            {
                Console.Write("  ");
            }
            Console.WriteLine(text.Substring(0, Math.Min(79 - indentLevel * 2, text.Length)));
        }
    }
}
Imports System.Collections
Imports System.Configuration

Class UsingConfigurationSectionGroup
   Private Shared indentLevel As Integer = 0
    
    Public Shared Sub Main(ByVal args() As String)

        ' Get the application configuration file.
        Dim config As System.Configuration.Configuration = _
            ConfigurationManager.OpenExeConfiguration( _
            ConfigurationUserLevel.None)

        ' Get the collection of the section groups.
        Dim sectionGroups As ConfigurationSectionGroupCollection = _
            config.SectionGroups

        ' Display the section groups.
        ShowSectionGroupCollectionInfo(sectionGroups)
    End Sub

    Shared Sub ShowSectionGroupCollectionInfo( _
        ByVal sectionGroups _
        As ConfigurationSectionGroupCollection)

        Dim group As ConfigurationSectionGroup
        For Each group In sectionGroups
            ShowSectionGroupInfo(group)
        Next group
    End Sub

    Shared Sub ShowSectionGroupInfo( _
    ByVal sectionGroup As ConfigurationSectionGroup)
        ' Get the section group name.
        indent("Section Group Name: " + sectionGroup.Name)

        ' Get the fully qualified section group name.
        indent("Section Group Name: " + sectionGroup.SectionGroupName)

        indentLevel += 1

        indent("Type: " + sectionGroup.Type)
        indent("Is Group Required?: " + _
           sectionGroup.IsDeclarationRequired.ToString())
        indent("Is Group Declared?: " + _
            sectionGroup.IsDeclared.ToString())
        indent("Contained Sections:")

        indentLevel += 1
        Dim section As ConfigurationSection
        For Each section In sectionGroup.Sections
            indent("Section Name:" + section.SectionInformation.Name)
        Next section
        indentLevel -= 1

        If (sectionGroup.SectionGroups.Count > 0) Then
            indent("Contained Section Groups:")

            indentLevel += 1
            Dim sectionGroups As ConfigurationSectionGroupCollection = _
                sectionGroup.SectionGroups
            ShowSectionGroupCollectionInfo(sectionGroups)
            indentLevel -= 1
        End If

        indent("")
        indentLevel -= 1

    End Sub
    Shared Sub indent(ByVal text As String)
        Dim i As Integer
        For i = 0 To indentLevel - 1
            Console.Write("  ")
        Next i
        Console.WriteLine(Left(text, 79 - indentLevel * 2))
    End Sub

End Class

Remarks

Параметры в файлах конфигурации (например, файл Web. config) организованы по разделам.Settings in configuration files (such as the Web.config file) are organized into sections. Поскольку некоторые разделы связаны, часто бывает удобно сгруппировать их в группе разделов.Because some sections are related, it is often convenient to group them in a section group. Класс ConfigurationSectionGroup представляет sectionGroup XML-элемент, используемый для группирования разделов, если они определены в элементе configSections файла конфигурации.The ConfigurationSectionGroup class represents the sectionGroup XML element that is used to group sections when they are defined in the configSections element of a configuration file. Группы разделов могут быть вложенными (группа разделов может содержать другие группы разделов, а также разделы).Section groups can be nested (a section group can contain other section groups as well as sections). В следующем примере показан элемент configSections, определяющий три вложенные группы разделов:The following example shows a configSections element that defines three nested section groups:

<configSections>  
  <sectionGroup name="system.web.extensions"...>  
    <sectionGroup name="scripting" ...>  
      <section name="scriptResourceHandler".../>  
      <sectionGroup name="webServices"...>  
        <section name="jsonSerialization" .../>  
        <section name="profileService" ... />        <section name="authenticationService" .../>  
        <section name="roleService" .../>  
      </sectionGroup>  
    </sectionGroup>  
  </sectionGroup>  
</configSections>  

Система конфигурации загружает параметры из файлов конфигурации в объекты ConfigurationSectionGroup.The configuration system loads settings from configuration files into ConfigurationSectionGroup objects. Для доступа к разделам и группам разделов, содержащимся в объекте ConfigurationSectionGroup, можно использовать свойства Sections и SectionGroups.You can use the Sections and SectionGroups properties to access the sections and section groups that are contained in a ConfigurationSectionGroup object.

Дополнительные сведения о том, как получить доступ к сведениям из файлов конфигурации, см. в разделе класс ConfigurationManager.For more information about how to access information from configuration files, see the ConfigurationManager class.

Constructors

ConfigurationSectionGroup()

Инициализация нового экземпляра класса ConfigurationSectionGroup.Initializes a new instance of the ConfigurationSectionGroup class.

Properties

IsDeclarationRequired

Возвращает значение, которое указывает требуется ли объявление для данного объекта ConfigurationSectionGroup.Gets a value that indicates whether this ConfigurationSectionGroup object declaration is required.

IsDeclared

Возвращает значение, которое указывает является ли объект ConfigurationSectionGroup объявленным.Gets a value that indicates whether this ConfigurationSectionGroup object is declared.

Name

Возвращает имя свойства данного объекта ConfigurationSectionGroup.Gets the name property of this ConfigurationSectionGroup object.

SectionGroupName

Возвращает имя группы разделов, связанных с ConfigurationSectionGroup.Gets the section group name associated with this ConfigurationSectionGroup.

SectionGroups

Возвращает объект ConfigurationSectionGroupCollection, который содержит все объекты ConfigurationSectionGroup, являющиеся производными от данного объекта ConfigurationSectionGroup.Gets a ConfigurationSectionGroupCollection object that contains all the ConfigurationSectionGroup objects that are children of this ConfigurationSectionGroup object.

Sections

Возвращает объект ConfigurationSectionCollection, который содержит все объекты ConfigurationSection, являющиеся производными от данного объекта ConfigurationSectionGroup.Gets a ConfigurationSectionCollection object that contains all of ConfigurationSection objects within this ConfigurationSectionGroup object.

Type

Возвращает или задает тип для данного объекта ConfigurationSectionGroup.Gets or sets the type for this ConfigurationSectionGroup object.

Methods

Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Inherited from Object)
ForceDeclaration()

Вынуждает объявить данный объект ConfigurationSectionGroup.Forces the declaration for this ConfigurationSectionGroup object.

ForceDeclaration(Boolean)

Вынуждает объявить данный объект ConfigurationSectionGroup.Forces the declaration for this ConfigurationSectionGroup object.

GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Inherited from Object)
GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ShouldSerializeSectionGroupInTargetVersion(FrameworkName)

Указывает, нужно ли выполнять сериализацию текущего экземпляра ConfigurationSectionGroup во время сериализации иерархии объекта конфигурации для заданной целевой версии .NET Framework.NET Framework.Indicates whether the current ConfigurationSectionGroup instance should be serialized when the configuration object hierarchy is serialized for the specified target version of the .NET Framework.NET Framework.

ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Inherited from Object)

Applies to

See also