Partager via


ConfigurationSectionGroup Classe

Définition

Représente un groupe de sections associées dans un fichier de configuration.

public ref class ConfigurationSectionGroup
public class ConfigurationSectionGroup
type ConfigurationSectionGroup = class
Public Class ConfigurationSectionGroup
Héritage
ConfigurationSectionGroup
Dérivé

Exemples

L’exemple suivant montre comment utiliser la ConfigurationSectionGroup classe pour récupérer les paramètres de configuration. L’exemple est une application console qui lit les paramètres de configuration et écrit des informations sur chaque groupe de sections de configuration et les sections qu’il contient dans la console.

La Main méthode charge les paramètres de configuration dans un Configuration objet, récupère la SectionGroups collection à partir de l’objet Configuration , puis appelle la ShowSectionGroupCollectionInfo méthode pour afficher les valeurs des propriétés de section.

La ShowSectionGroupCollectionInfo méthode itère dans les groupes de sections et appelle la ShowSectionGroupInfo méthode pour chacun d’eux.

La ShowSectionGroupInfo méthode affiche le nom du groupe de sections, certaines valeurs de propriété et les noms des sections qu’elle contient. Si le groupe de sections contient des groupes de sections, cette méthode appelle ShowSectionGroupCollectionInfo de manière récursive pour afficher ces groupes de sections.

Le indentLevel champ est utilisé pour ajouter des espaces sur le côté gauche des lignes affichées afin d’afficher les regroupements logiques. Toutes les lignes sont limitées à 79 caractères de texte pour éviter l’encapsulage de lignes, ce qui compliquerait la distinction entre les regroupements logiques.

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

Remarques

Les paramètres des fichiers de configuration (tels que le fichier Web.config) sont organisés en sections. Étant donné que certaines sections sont liées, il est souvent pratique de les regrouper dans un groupe de sections. La ConfigurationSectionGroup classe représente l’élément sectionGroup XML utilisé pour regrouper des sections lorsqu’elles sont définies dans l’élément configSections d’un fichier de configuration. Les groupes de sections peuvent être imbriqués (un groupe de sections peut contenir d’autres groupes de sections ainsi que des sections). L’exemple suivant montre un configSections élément qui définit trois groupes de sections imbriqués :

<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>

Le système de configuration charge les paramètres des fichiers de configuration dans des ConfigurationSectionGroup objets. Vous pouvez utiliser les Sections propriétés et SectionGroups pour accéder aux sections et groupes de sections contenus dans un ConfigurationSectionGroup objet.

Pour plus d’informations sur l’accès aux informations à partir de fichiers de configuration, consultez la ConfigurationManager classe .

Constructeurs

ConfigurationSectionGroup()

Initialise une nouvelle instance de la classe ConfigurationSectionGroup.

Propriétés

IsDeclarationRequired

Obtient une valeur qui indique si cette déclaration d'objet ConfigurationSectionGroup est requise.

IsDeclared

Obtient une valeur qui indique si cet objet ConfigurationSectionGroup est déclaré.

Name

Obtient la propriété de nom de cet objet ConfigurationSectionGroup.

SectionGroupName

Obtient le nom du groupe de sections associé à ce ConfigurationSectionGroup.

SectionGroups

Obtient un objet ConfigurationSectionGroupCollection qui contient tous les objets ConfigurationSectionGroup qui sont des enfants de cet objet ConfigurationSectionGroup.

Sections

Obtient un objet ConfigurationSectionCollection qui contient tous les objets ConfigurationSection de cet objet ConfigurationSectionGroup.

Type

Obtient ou définit le type de cet objet ConfigurationSectionGroup.

Méthodes

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
ForceDeclaration()

Force la déclaration de cet objet ConfigurationSectionGroup.

ForceDeclaration(Boolean)

Force la déclaration de cet objet ConfigurationSectionGroup.

GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ShouldSerializeSectionGroupInTargetVersion(FrameworkName)

Indique si le instance actuel ConfigurationSectionGroup doit être sérialisé lorsque la hiérarchie d’objets de configuration est sérialisée pour la version cible spécifiée du .NET Framework.

ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

S’applique à

Voir aussi