Leer en inglés

Compartir a través de


ConfigurationSectionGroup Clase

Definición

Representa un grupo de las secciones relacionadas de un archivo de configuración.

public class ConfigurationSectionGroup
Herencia
ConfigurationSectionGroup
Derivado

Ejemplos

En el ejemplo siguiente se muestra cómo usar la clase para recuperar los ConfigurationSectionGroup valores de configuración. El ejemplo es una aplicación de consola que lee los valores de configuración y escribe información sobre cada grupo de secciones de configuración y las secciones de ella en la consola.

El Main método carga los valores de configuración en un Configuration objeto , recupera la SectionGroups colección del Configuration objeto y, a continuación, llama al ShowSectionGroupCollectionInfo método para mostrar los valores de propiedad de sección.

El ShowSectionGroupCollectionInfo método recorre en iteración los grupos de secciones y llama al ShowSectionGroupInfo método para cada uno.

El ShowSectionGroupInfo método muestra el nombre del grupo de secciones, algunos valores de propiedad y los nombres de las secciones que contiene. Si el grupo de secciones contiene grupos de secciones, este método llama ShowSectionGroupCollectionInfo a de forma recursiva para mostrar esos grupos de secciones.

El indentLevel campo se usa para agregar espacios al lado izquierdo de las líneas mostradas para mostrar agrupaciones lógicas. Todas las líneas están limitadas a 79 caracteres de texto para evitar el ajuste de líneas, lo que dificultaría la distinción de las agrupaciones lógicas.

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)));
        }
    }
}

Comentarios

Los valores de los archivos de configuración (como el archivo Web.config) se organizan en secciones. Dado que algunas secciones están relacionadas, a menudo resulta conveniente agruparlas en un grupo de secciones. La ConfigurationSectionGroup clase representa el sectionGroup elemento XML que se usa para agrupar secciones cuando se definen en el configSections elemento de un archivo de configuración. Los grupos de secciones se pueden anidar (un grupo de secciones puede contener otros grupos de secciones, así como secciones). En el ejemplo siguiente se muestra un configSections elemento que define tres grupos de secciones anidados:

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

El sistema de configuración carga los valores de los archivos de configuración en ConfigurationSectionGroup objetos . Puede usar las Sections propiedades y SectionGroups para tener acceso a las secciones y los grupos de secciones contenidos en un ConfigurationSectionGroup objeto .

Para obtener más información sobre cómo acceder a la información de los archivos de configuración, vea la ConfigurationManager clase .

Constructores

ConfigurationSectionGroup()

Inicializa una nueva instancia de la clase ConfigurationSectionGroup.

Propiedades

IsDeclarationRequired

Obtiene un valor que indica si es necesario declarar este objeto ConfigurationSectionGroup.

IsDeclared

Obtiene un valor que indica si se declara este objeto ConfigurationSectionGroup.

Name

Obtiene el nombre de propiedad de este objeto ConfigurationSectionGroup.

SectionGroupName

Obtiene el nombre de grupo de sección asociado a este objeto ConfigurationSectionGroup.

SectionGroups

Obtiene un objeto ConfigurationSectionGroupCollection que contiene todos los objetos ConfigurationSectionGroup que son secundarios respecto de este objeto ConfigurationSectionGroup.

Sections

Obtiene un objeto ConfigurationSectionCollection que contiene todos los objetos ConfigurationSection de este objeto ConfigurationSectionGroup.

Type

Obtiene o establece el tipo de este objeto ConfigurationSectionGroup.

Métodos

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
ForceDeclaration()

Fuerza la declaración de este objeto ConfigurationSectionGroup.

ForceDeclaration(Boolean)

Fuerza la declaración de este objeto ConfigurationSectionGroup.

GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ShouldSerializeSectionGroupInTargetVersion(FrameworkName)

Indica si la instancia actual ConfigurationSectionGroup se debe serializar cuando la jerarquía de objetos de configuración se serializa para la versión de destino especificada de .NET Framework.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Producto Versiones
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

Consulte también