다음을 통해 공유


ConfigurationSectionGroup 클래스

정의

구성 파일에 있는 관련된 섹션의 그룹을 나타냅니다.

public ref class ConfigurationSectionGroup
public class ConfigurationSectionGroup
type ConfigurationSectionGroup = class
Public Class ConfigurationSectionGroup
상속
ConfigurationSectionGroup
파생

예제

다음 예제에서는 사용 하는 방법에 설명 합니다 ConfigurationSectionGroup 구성 설정을 검색 하는 클래스입니다. 예제 구성 파일을 읽고 각 구성 섹션 그룹 및 그 안에 콘솔에 있는 섹션에 대 한 정보를 기록 하는 콘솔 애플리케이션입니다.

메서드는 Main 구성 설정을 개체로 Configuration 로드하고, 개체에서 Configuration 컬렉션을 검색 SectionGroups 한 다음, 메서드를 ShowSectionGroupCollectionInfo 호출하여 섹션 속성 값을 표시합니다.

메서드는 ShowSectionGroupCollectionInfo 섹션 그룹을 반복하고 각 그룹에 대해 메서드를 ShowSectionGroupInfo 호출합니다.

메서드는 ShowSectionGroupInfo 섹션 그룹의 이름, 일부 속성 값 및 포함된 섹션의 이름을 표시합니다. 섹션 그룹에 섹션 그룹이 포함된 경우 이 메서드는 재귀적으로 를 호출 ShowSectionGroupCollectionInfo 하여 해당 섹션 그룹을 표시합니다.

indentLevel 필드는 표시된 줄의 왼쪽에 공백을 추가하여 논리적 그룹화가 표시되는 데 사용됩니다. 줄 바꿈을 방지하기 위해 모든 줄은 텍스트의 79자로 제한되므로 논리적 그룹화 구분이 어려워집니다.

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

설명

구성 파일의 설정(예: Web.config 파일)은 섹션으로 구성됩니다. 일부 섹션은 관련되어 있으므로 섹션 그룹에서 그룹화하면 편리합니다. 클래스는 ConfigurationSectionGroup 구성 파일의 sectionGroup 요소에 정의된 configSections 섹션을 그룹화하는 데 사용되는 XML 요소를 나타냅니다. 섹션 그룹을 중첩할 수 있습니다(섹션 그룹에는 섹션뿐만 아니라 다른 섹션 그룹도 포함될 수 있음). 다음 예제에서는 세 개의 configSections 중첩된 섹션 그룹을 정의하는 요소를 보여 줍니다.

<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 로드합니다. 및 SectionGroups 속성을 사용하여 Sections 개체에 포함된 ConfigurationSectionGroup 섹션 및 섹션 그룹에 액세스할 수 있습니다.

구성 파일에서 정보에 액세스하는 방법에 대한 자세한 내용은 클래스를 참조하세요 ConfigurationManager .

생성자

ConfigurationSectionGroup()

ConfigurationSectionGroup 클래스의 새 인스턴스를 초기화합니다.

속성

IsDeclarationRequired

ConfigurationSectionGroup 개체 선언이 필요한지 여부를 나타내는 값을 가져옵니다.

IsDeclared

ConfigurationSectionGroup 개체가 선언되었는지 여부를 나타내는 값을 가져옵니다.

Name

ConfigurationSectionGroup 개체의 이름 속성을 가져옵니다.

SectionGroupName

ConfigurationSectionGroup과 연결된 섹션 그룹 이름을 가져옵니다.

SectionGroups

ConfigurationSectionGroupCollection 개체의 자식인 ConfigurationSectionGroup 개체를 모두 포함하는 ConfigurationSectionGroup 개체를 가져옵니다.

Sections

ConfigurationSectionCollection 개체 내에 모든 ConfigurationSection 개체를 포함하는 ConfigurationSectionGroup 개체를 가져옵니다.

Type

ConfigurationSectionGroup 개체의 형식을 가져오거나 설정합니다.

메서드

Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
ForceDeclaration()

ConfigurationSectionGroup 개체를 강제로 선언합니다.

ForceDeclaration(Boolean)

ConfigurationSectionGroup 개체를 강제로 선언합니다.

GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
ShouldSerializeSectionGroupInTargetVersion(FrameworkName)

구성 개체 계층이 .NET Framework 지정된 대상 버전에 대해 직렬화될 때 현재 ConfigurationSectionGroup instance 직렬화해야 하는지 여부를 나타냅니다.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

적용 대상

추가 정보