ConfigurationSectionGroup Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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 informace o každé skupině oddílů konfigurace a oddílech v ní do konzoly.
Metoda Main načte nastavení konfigurace do objektu Configuration , načte SectionGroups kolekci z objektu Configuration a potom zavolá metodu ShowSectionGroupCollectionInfo pro zobrazení hodnot vlastností oddílu.
Metoda ShowSectionGroupCollectionInfo prochází 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 slouží k přidání mezer na levou stranu zobrazených řádků k zobrazení logických seskupení. Všechny řádky jsou omezeny na 79 znaků textu, aby se zabránilo obtékání řádku, což by znesnadnit 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 v souboru 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ů.
ConfigurationSectionGroup Třída představuje sectionGroup XML element, který se používá k seskupení oddílů, když jsou definovány v configSections elementu konfiguračního souboru. Skupiny oddílů je možné vnořit (skupina oddílů může obsahovat i jiné skupiny oddílů a oddíly). Následující příklad ukazuje configSections prvek, 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ů. Pomocí vlastností SectionsSectionGroups můžete získat přístup k oddílům a skupinám oddílů obsaženým v objektu ConfigurationSectionGroup .
Další informace o přístupu k informacím z konfiguračních souborů naleznete ve ConfigurationManager třídě.
Konstruktory
| Name | Description |
|---|---|
| ConfigurationSectionGroup() |
Inicializuje novou instanci ConfigurationSectionGroup třídy. |
Vlastnosti
| Name | Description |
|---|---|
| IsDeclarationRequired |
Získá hodnotu, která určuje, zda je tato ConfigurationSectionGroup deklarace objektu požadována. |
| IsDeclared |
Získá hodnotu, která určuje, zda je tento ConfigurationSectionGroup objekt deklarován. |
| Name |
Získá název vlastnost 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řízené tomuto ConfigurationSectionGroup objektu. |
| Sections |
ConfigurationSectionCollection Získá objekt, který obsahuje všechny ConfigurationSection objekty v tomto ConfigurationSectionGroup objektu. |
| Type |
Získá nebo nastaví typ pro tento ConfigurationSectionGroup objekt. |
Metody
| Name | Description |
|---|---|
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| ForceDeclaration() |
Vynutí deklaraci tohoto ConfigurationSectionGroup objektu. |
| ForceDeclaration(Boolean) |
Vynutí deklaraci tohoto ConfigurationSectionGroup objektu. |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| ShouldSerializeSectionGroupInTargetVersion(FrameworkName) |
Určuje, zda aktuální ConfigurationSectionGroup instance by měla být serializována, pokud je hierarchie objektů konfigurace serializována pro zadanou cílovou verzi .NET Framework. |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |