Sdílet prostřednictvím


ConfigurationSectionGroup Třída

Definice

Představuje skupinu souvisejících oddílů v rámci konfiguračního souboru.

public ref class ConfigurationSectionGroup
public class ConfigurationSectionGroup
type ConfigurationSectionGroup = class
Public Class ConfigurationSectionGroup
Dědičnost
ConfigurationSectionGroup
Odvozené

Příklady

Následující příklad ukazuje, jak pomocí ConfigurationSectionGroup třídy načíst nastavení konfigurace. Příkladem je konzolová aplikace, která čte nastavení konfigurace a zapisuje do konzoly informace o každé skupině oddílů konfigurace a oddílech v ní.

Metoda Main načte nastavení konfigurace do objektu Configuration , načte kolekci SectionGroups z objektu Configuration a pak zavolá metodu ShowSectionGroupCollectionInfo pro zobrazení hodnot vlastností oddílu.

Metoda ShowSectionGroupCollectionInfo iteruje skupiny oddílů a volá metodu ShowSectionGroupInfo pro každou z nich.

Metoda ShowSectionGroupInfo zobrazí název skupiny oddílů, některé hodnoty vlastností a názvy oddílů, které obsahuje. Pokud skupina oddílů obsahuje skupiny oddílů, tato metoda volá ShowSectionGroupCollectionInfo rekurzivně k zobrazení těchto skupin oddílů.

Pole indentLevel se používá k přidání mezer na levou stranu zobrazených řádků, aby se zobrazila logická seskupení. Všechny řádky jsou omezeny na 79 znaků textu, aby se zabránilo obtékání řádků, což by ztěžovalo rozlišení logických seskupení.

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

Poznámky

Nastavení v konfiguračních souborech (například soubor Web.config) jsou uspořádaná do oddílů. Vzhledem k tomu, že některé oddíly souvisejí, je často vhodné je seskupit do skupiny oddílů. Třída ConfigurationSectionGroup představuje sectionGroup element XML, který se používá k seskupení oddílů, pokud jsou definovány v configSections elementu konfiguračního souboru. Skupiny oddílů mohou být vnořené (skupina oddílů může obsahovat jiné skupiny oddílů i oddíly). Následující příklad ukazuje configSections element, který definuje tři vnořené skupiny oddílů:

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

Konfigurační systém načte nastavení z konfiguračních souborů do ConfigurationSectionGroup objektů. Vlastnosti a SectionGroups můžete použít Sections pro přístup k oddílům a skupinám oddílů, které jsou obsaženy v objektuConfigurationSectionGroup.

Další informace o tom, jak získat přístup k informacím z konfiguračních souborů, najdete ve ConfigurationManager třídě.

Konstruktory

ConfigurationSectionGroup()

Inicializuje novou instanci ConfigurationSectionGroup třídy.

Vlastnosti

IsDeclarationRequired

Získá hodnotu, která označuje, zda je tato ConfigurationSectionGroup deklarace objektu požadována.

IsDeclared

Získá hodnotu, která označuje, zda je tento ConfigurationSectionGroup objekt deklarován.

Name

Získá vlastnost name tohoto ConfigurationSectionGroup objektu.

SectionGroupName

Získá název skupiny oddílů přidružené k tomuto ConfigurationSectionGroup.

SectionGroups

ConfigurationSectionGroupCollection Získá objekt, který obsahuje všechny ConfigurationSectionGroup objekty, které jsou podřízeny tohoto ConfigurationSectionGroup objektu.

Sections

ConfigurationSectionCollection Získá objekt, který obsahuje všechny ConfigurationSection objekty v rámci tohoto ConfigurationSectionGroup objektu.

Type

Získá nebo nastaví typ pro tento ConfigurationSectionGroup objekt.

Metody

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
ForceDeclaration()

Vynutí deklaraci pro tento ConfigurationSectionGroup objekt.

ForceDeclaration(Boolean)

Vynutí deklaraci pro tento ConfigurationSectionGroup objekt.

GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetType()

Získá aktuální Type instanci.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
ShouldSerializeSectionGroupInTargetVersion(FrameworkName)

Určuje, zda aktuální ConfigurationSectionGroup instance by měla být serializována při hierarchii objektů konfigurace je serializována pro zadanou cílovou verzi rozhraní .NET Framework.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro

Viz také