ConfigurationSectionGroup Kelas

Definisi

Mewakili sekelompok bagian terkait dalam file konfigurasi.

public ref class ConfigurationSectionGroup
public class ConfigurationSectionGroup
type ConfigurationSectionGroup = class
Public Class ConfigurationSectionGroup
Warisan
ConfigurationSectionGroup
Turunan

Contoh

Contoh berikut menunjukkan cara menggunakan ConfigurationSectionGroup kelas untuk mengambil pengaturan konfigurasi. Contohnya adalah aplikasi konsol yang membaca pengaturan konfigurasi dan menulis informasi tentang setiap grup bagian konfigurasi dan bagian di dalamnya ke konsol.

Metode memuat Main pengaturan konfigurasi ke dalam Configuration objek, mengambil SectionGroups koleksi dari Configuration objek, lalu memanggil ShowSectionGroupCollectionInfo metode untuk menampilkan nilai properti bagian.

Metode ini ShowSectionGroupCollectionInfo melakukan iterasi melalui grup bagian dan memanggil ShowSectionGroupInfo metode untuk masing-masing grup.

Metode ini ShowSectionGroupInfo menampilkan nama grup bagian, beberapa nilai properti, dan nama bagian yang dikandungnya. Jika grup bagian berisi grup bagian, metode ini memanggil ShowSectionGroupCollectionInfo secara rekursif untuk menampilkan grup bagian tersebut.

Bidang indentLevel digunakan untuk menambahkan spasi ke sisi kiri baris yang ditampilkan untuk memperlihatkan pengelompokan logis. Semua baris dibatasi hingga 79 karakter teks untuk menghindari pembungkusan baris, yang akan membuatnya lebih sulit untuk membedakan pengelompokan logis.

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

Keterangan

Pengaturan dalam file konfigurasi (seperti file Web.config) diatur ke dalam bagian. Karena beberapa bagian terkait, sering kali lebih mudah untuk mengelompokkannya dalam grup bagian. Kelas ConfigurationSectionGroup mewakili sectionGroup elemen XML yang digunakan untuk mengelompokkan bagian saat ditentukan dalam configSections elemen file konfigurasi. Grup bagian dapat ditumpuk (grup bagian dapat berisi grup bagian lain serta bagian). Contoh berikut menunjukkan configSections elemen yang menentukan tiga grup bagian berlapis:

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

Sistem konfigurasi memuat pengaturan dari file konfigurasi ke dalam ConfigurationSectionGroup objek. Anda dapat menggunakan Sections properti dan SectionGroups untuk mengakses bagian dan grup bagian yang terkandung dalam ConfigurationSectionGroup objek.

Untuk informasi selengkapnya tentang cara mengakses informasi dari file konfigurasi, lihat ConfigurationManager kelas .

Konstruktor

ConfigurationSectionGroup()

Menginisialisasi instans baru kelas ConfigurationSectionGroup.

Properti

IsDeclarationRequired

Mendapatkan nilai yang menunjukkan apakah deklarasi objek ini ConfigurationSectionGroup diperlukan.

IsDeclared

Mendapatkan nilai yang menunjukkan apakah objek ini ConfigurationSectionGroup dideklarasikan.

Name

Mendapatkan properti nama objek ini ConfigurationSectionGroup .

SectionGroupName

Mendapatkan nama grup bagian yang terkait dengan ini ConfigurationSectionGroup.

SectionGroups

ConfigurationSectionGroupCollection Mendapatkan objek yang berisi semua ConfigurationSectionGroup objek yang merupakan anak dari objek iniConfigurationSectionGroup.

Sections

ConfigurationSectionCollection Mendapatkan objek yang berisi semua ConfigurationSection objek di dalam objek iniConfigurationSectionGroup.

Type

Mendapatkan atau menyetel tipe untuk objek ini ConfigurationSectionGroup .

Metode

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
ForceDeclaration()

Memaksa deklarasi untuk objek ini ConfigurationSectionGroup .

ForceDeclaration(Boolean)

Memaksa deklarasi untuk objek ini ConfigurationSectionGroup .

GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
ShouldSerializeSectionGroupInTargetVersion(FrameworkName)

Menunjukkan apakah instans saat ini ConfigurationSectionGroup harus diserialisasikan ketika hierarki objek konfigurasi diserialisasikan untuk versi target yang ditentukan dari .NET Framework.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Berlaku untuk

Lihat juga