ConfigurationSectionGroup Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Representa um grupo de seções relacionadas em um arquivo de configuração.
public ref class ConfigurationSectionGroup
public class ConfigurationSectionGroup
type ConfigurationSectionGroup = class
Public Class ConfigurationSectionGroup
- Herança
-
ConfigurationSectionGroup
- Derivado
Exemplos
O exemplo a seguir mostra como usar a ConfigurationSectionGroup classe para recuperar as configurações. O exemplo é um aplicativo de console que lê as configurações e grava informações sobre cada grupo de seções de configuração e as seções nele no console.
O Main método carrega as configurações em um Configuration objeto, recupera a SectionGroups coleção do Configuration objeto e chama o ShowSectionGroupCollectionInfo método para exibir os valores da propriedade da seção.
O ShowSectionGroupCollectionInfo método itera por meio dos grupos de seções e chama o ShowSectionGroupInfo método para cada um deles.
O ShowSectionGroupInfo método exibe o nome do grupo de seções, alguns valores de propriedade e os nomes das seções que ele contém. Se o grupo de seções contiver grupos de seções, esse método chamará ShowSectionGroupCollectionInfo recursivamente para exibir esses grupos de seções.
O indentLevel campo é usado para adicionar espaços ao lado esquerdo das linhas exibidas para mostrar agrupamentos lógicos. Todas as linhas são limitadas a 79 caracteres de texto para evitar o encapsulamento de linha, o que dificultaria a distinção dos agrupamentos lógicos.
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
Comentários
As configurações em arquivos de configuração (como o arquivo Web.config) são organizadas em seções. Como algumas seções estão relacionadas, geralmente é conveniente agrupá-las em um grupo de seções. A ConfigurationSectionGroup classe representa o sectionGroup elemento XML usado para agrupar seções quando elas são definidas no configSections elemento de um arquivo de configuração. Os grupos de seções podem ser aninhados (um grupo de seções pode conter outros grupos de seções, bem como seções). O exemplo a seguir mostra um configSections elemento que define três grupos de seções aninhadas:
<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>
O sistema de configuração carrega configurações de arquivos de configuração em ConfigurationSectionGroup objetos. Você pode usar as propriedades e SectionGroups as Sections propriedades para acessar as seções e grupos de seções contidos em um ConfigurationSectionGroup objeto.
Para obter mais informações sobre como acessar informações de arquivos de configuração, consulte a ConfigurationManager classe.
Construtores
| Nome | Description |
|---|---|
| ConfigurationSectionGroup() |
Inicializa uma nova instância da classe ConfigurationSectionGroup. |
Propriedades
| Nome | Description |
|---|---|
| IsDeclarationRequired |
Obtém um valor que indica se essa ConfigurationSectionGroup declaração de objeto é necessária. |
| IsDeclared |
Obtém um valor que indica se esse ConfigurationSectionGroup objeto é declarado. |
| Name |
Obtém a propriedade name deste ConfigurationSectionGroup objeto. |
| SectionGroupName |
Obtém o nome do grupo de seções associado a este ConfigurationSectionGroup. |
| SectionGroups |
Obtém um ConfigurationSectionGroupCollection objeto que contém todos os ConfigurationSectionGroup objetos que são filhos desse ConfigurationSectionGroup objeto. |
| Sections |
Obtém um ConfigurationSectionCollection objeto que contém todos os ConfigurationSection objetos dentro desse ConfigurationSectionGroup objeto. |
| Type |
Obtém ou define o tipo para este ConfigurationSectionGroup objeto. |
Métodos
| Nome | Description |
|---|---|
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| ForceDeclaration() |
Força a declaração para este ConfigurationSectionGroup objeto. |
| ForceDeclaration(Boolean) |
Força a declaração para este ConfigurationSectionGroup objeto. |
| GetHashCode() |
Serve como a função hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| ShouldSerializeSectionGroupInTargetVersion(FrameworkName) |
Indica se a instância ConfigurationSectionGroup atual deve ser serializada quando a hierarquia de objetos de configuração é serializada para a versão de destino especificada do .NET Framework. |
| ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |