ExpressionBuilderCollection 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 kolekci ExpressionBuilder objektů. Tato třída se nemůže dědit.
public ref class ExpressionBuilderCollection sealed : System::Configuration::ConfigurationElementCollection
[System.Configuration.ConfigurationCollection(typeof(System.Web.Configuration.ExpressionBuilder))]
public sealed class ExpressionBuilderCollection : System.Configuration.ConfigurationElementCollection
[<System.Configuration.ConfigurationCollection(typeof(System.Web.Configuration.ExpressionBuilder))>]
type ExpressionBuilderCollection = class
inherit ConfigurationElementCollection
Public NotInheritable Class ExpressionBuilderCollection
Inherits ConfigurationElementCollection
- Dědičnost
- Atributy
Příklady
Tato část obsahuje dva příklady kódu. První ukazuje, jak deklarativní zadat hodnoty pro několik vlastností ExpressionBuilderCollection třídy. Druhá ukazuje, jak používat členy ExpressionBuilderCollection třídy.
Následující příklad konfiguračního ExpressionBuilderCollection souboru ukazuje, jak deklarativní zadat hodnoty pro několik vlastností třídy.
<system.web>
<compilation>
<expressionBuilders>
<add
expressionPrefix="Resources"
type="System.Web.Compilation.ResourceExpressionBuilder"/>
<add
expressionPrefix="ConnectionStrings"
type="System.Web.Compilation.
ConnectionStringsExpressionBuilder"/>
<add expressionPrefix="AppSettings"
type="System.Web.Compilation.AppSettingsExpressionBuilder" />
</expressionBuilders>
</compilation>
</system.web>
Následující příklad kódu ukazuje, jak používat členy ExpressionBuilderCollection třídy.
#region Using directives
using System;
using System.Configuration;
using System.Web.Configuration;
#endregion
namespace Samples.Aspnet.SystemWebConfiguration
{
class UsingExpressionBuildCollection
{
static void Main(string[] args)
{
try
{
// Set the path of the config file.
string configPath = "";
// Get the Web application configuration object.
Configuration config =
WebConfigurationManager.OpenWebConfiguration(configPath);
// Get the section related object.
CompilationSection configSection =
(CompilationSection)config.GetSection("system.web/compilation");
// Display title and info.
Console.WriteLine("ASP.NET Configuration Info");
Console.WriteLine();
// Display Config details.
Console.WriteLine("File Path: {0}",
config.FilePath);
Console.WriteLine("Section Path: {0}",
configSection.SectionInformation.Name);
// Create a new ExpressionBuilder reference.
ExpressionBuilder myExpressionBuilder =
new ExpressionBuilder("myCustomExpression", "MyCustomExpressionBuilder");
// Add an ExpressionBuilder to the configuration.
configSection.ExpressionBuilders.Add(myExpressionBuilder);
// Add an ExpressionBuilder to the configuration.
ExpressionBuilder myExpressionBuilder2 =
new ExpressionBuilder("myCustomExpression2", "MyCustomExpressionBuilder2");
configSection.ExpressionBuilders.Add(myExpressionBuilder2);
// Display the ExpressionBuilder count.
Console.WriteLine("ExpressionBuilder Count: {0}",
configSection.ExpressionBuilders.Count);
// Display the ExpressionBuildersCollection details.
int i = 1;
int j = 1;
foreach (ExpressionBuilder expressionBuilder in configSection.ExpressionBuilders)
{
Console.WriteLine();
Console.WriteLine("ExpressionBuilder {0} Details:", i);
Console.WriteLine("Type: {0}", expressionBuilder.ElementInformation.Type);
Console.WriteLine("Source: {0}", expressionBuilder.ElementInformation.Source);
Console.WriteLine("LineNumber: {0}", expressionBuilder.ElementInformation.LineNumber);
Console.WriteLine("Properties Count: {0}", expressionBuilder.ElementInformation.Properties.Count);
j = 1;
foreach (PropertyInformation propertyItem in expressionBuilder.ElementInformation.Properties)
{
Console.WriteLine("Property {0} Name: {1}", j, propertyItem.Name);
Console.WriteLine("Property {0} Value: {1}", j, propertyItem.Value);
++j;
}
++i;
}
// Remove an ExpressionBuilder.
configSection.ExpressionBuilders.RemoveAt
(configSection.ExpressionBuilders.Count-1);
// Remove an ExpressionBuilder.
configSection.ExpressionBuilders.Remove("myCustomExpression");
// Update if not locked.
if (!configSection.SectionInformation.IsLocked)
{
config.Save();
Console.WriteLine("** Configuration updated.");
}
else
{
Console.WriteLine("** Could not update, section is locked.");
}
}
catch (Exception e)
{
// Unknown error.
Console.WriteLine(e.ToString());
}
// Display and wait.
Console.ReadLine();
}
}
}
Imports System.Configuration
Imports System.Web.Configuration
Namespace Samples.Aspnet.SystemWebConfiguration
Class UsingExpressionBuildCollection
Public Shared Sub Main()
Try
' Set the path of the config file.
Dim configPath As String = ""
' Get the Web application configuration object.
Dim config As System.Configuration.Configuration = _
WebConfigurationManager.OpenWebConfiguration(configPath)
' Get the section related object.
Dim configSection As System.Web.Configuration.CompilationSection = _
CType(config.GetSection("system.web/compilation"), _
System.Web.Configuration.CompilationSection)
' Display title and info.
Console.WriteLine("ASP.NET Configuration Info")
Console.WriteLine()
' Display Config details.
Console.WriteLine("File Path: {0}", _
config.FilePath)
Console.WriteLine("Section Path: {0}", _
configSection.SectionInformation.Name)
' Create a new ExpressionBuilder reference.
Dim myExpressionBuilder As ExpressionBuilder = _
New ExpressionBuilder("myCustomExpression", "MyCustomExpressionBuilder")
' Add an ExpressionBuilder to the configuration.
configSection.ExpressionBuilders.Add(myExpressionBuilder)
' Add an ExpressionBuilder to the configuration.
Dim myExpressionBuilder2 As ExpressionBuilder = _
New ExpressionBuilder("myCustomExpression2", "MyCustomExpressionBuilder2")
configSection.ExpressionBuilders.Add(myExpressionBuilder2)
' Display the ExpressionBuilder count.
Console.WriteLine("ExpressionBuilder Count: {0}", _
configSection.ExpressionBuilders.Count)
' Display the ExpressionBuildersCollection details.
Dim i = 1
Dim j = 1
For Each expressionBuilder As ExpressionBuilder In configSection.ExpressionBuilders()
Console.WriteLine()
Console.WriteLine("ExpressionBuilder {0} Details:", i)
Console.WriteLine("Type: {0}", expressionBuilder.ElementInformation.Type)
Console.WriteLine("Source: {0}", expressionBuilder.ElementInformation.Source)
Console.WriteLine("LineNumber: {0}", expressionBuilder.ElementInformation.LineNumber)
Console.WriteLine("Properties Count: {0}", expressionBuilder.ElementInformation.Properties.Count)
j = 1
For Each propertyItem As PropertyInformation In expressionBuilder.ElementInformation.Properties
Console.WriteLine("Property {0} Name: {1}", j, propertyItem.Name)
Console.WriteLine("Property {0} Value: {1}", j, propertyItem.Value)
j = j + 1
Next
i = i + 1
Next
' Remove an ExpressionBuilder.
configSection.ExpressionBuilders.RemoveAt _
(configSection.ExpressionBuilders.Count - 1)
' Remove an ExpressionBuilder.
configSection.ExpressionBuilders.Remove("myCustomExpression")
' Update if not locked.
If Not configSection.SectionInformation.IsLocked Then
config.Save()
Console.WriteLine("** Configuration updated.")
Else
Console.WriteLine("** Could not update, section is locked.")
End If
Catch e As Exception
' Unknown error.
Console.WriteLine(e.ToString())
End Try
' Display and wait
Console.ReadLine()
End Sub
End Class
End Namespace
Poznámky
Třída ExpressionBuilderCollection neodkazuje na žádný skutečný prvek v podkladovém konfiguračním souboru. Jedná se o konstruktor, který umožňuje snadný přístup k informacím kompilace, které obsahuje.
Konstruktory
| Name | Description |
|---|---|
| ExpressionBuilderCollection() |
Inicializuje novou instanci ExpressionBuilderCollection třídy. |
Vlastnosti
| Name | Description |
|---|---|
| AddElementName |
Získá nebo nastaví název ConfigurationElement přidružit k operaci přidání v ConfigurationElementCollection při přepsání v odvozené třídě. (Zděděno od ConfigurationElementCollection) |
| ClearElementName |
Získá nebo nastaví název pro ConfigurationElement přidružit k jasné operaci v ConfigurationElementCollection při přepsání v odvozené třídě. (Zděděno od ConfigurationElementCollection) |
| CollectionType |
Získá typ ConfigurationElementCollection. (Zděděno od ConfigurationElementCollection) |
| Count |
Získá počet prvků v kolekci. (Zděděno od ConfigurationElementCollection) |
| CurrentConfiguration |
Získá odkaz na instanci nejvyšší úrovně Configuration, která představuje hierarchii konfigurace, do které patří aktuální instance ConfigurationElement. (Zděděno od ConfigurationElement) |
| ElementInformation |
Získá ElementInformation objekt, který obsahuje neuzpůsobitelné informace a funkce ConfigurationElement objektu. (Zděděno od ConfigurationElement) |
| ElementName |
Získá název použitý k identifikaci této kolekce elementů v konfiguračním souboru při přepsání v odvozené třídě. (Zděděno od ConfigurationElementCollection) |
| ElementProperty |
Získá ConfigurationElementProperty objekt, který představuje ConfigurationElement objekt sám. (Zděděno od ConfigurationElement) |
| EmitClear |
Získá nebo nastaví hodnotu, která určuje, zda kolekce byla vymazána. (Zděděno od ConfigurationElementCollection) |
| EvaluationContext |
Získá objekt ContextInformation pro objekt ConfigurationElement. (Zděděno od ConfigurationElement) |
| HasContext |
Získá hodnotu, která určuje, zda CurrentConfiguration vlastnost je |
| IsSynchronized |
Získá hodnotu určující, zda je přístup ke kolekci synchronizován. (Zděděno od ConfigurationElementCollection) |
| Item[ConfigurationProperty] |
Získá nebo nastaví vlastnost nebo atribut tohoto elementu konfigurace. (Zděděno od ConfigurationElement) |
| Item[Int32] |
Získá nebo nastaví v zadaném ExpressionBuilder indexu v kolekci ExpressionBuilderCollection . |
| Item[String] |
ExpressionBuilder Získá objekt se zadaným názvem. |
| LockAllAttributesExcept |
Získá kolekci uzamčených atributů. (Zděděno od ConfigurationElement) |
| LockAllElementsExcept |
Získá kolekci uzamčených prvků. (Zděděno od ConfigurationElement) |
| LockAttributes |
Získá kolekci uzamčených atributů. (Zděděno od ConfigurationElement) |
| LockElements |
Získá kolekci uzamčených prvků. (Zděděno od ConfigurationElement) |
| LockItem |
Získá nebo nastaví hodnotu označující, zda je prvek uzamčen. (Zděděno od ConfigurationElement) |
| Properties |
Získá kolekci vlastností. (Zděděno od ConfigurationElement) |
| RemoveElementName |
Získá nebo nastaví název ConfigurationElement přidružit k operaci remove v ConfigurationElementCollection při přepsání v odvozené třídě. (Zděděno od ConfigurationElementCollection) |
| SyncRoot |
Získá objekt použitý k synchronizaci přístupu k ConfigurationElementCollection. (Zděděno od ConfigurationElementCollection) |
| ThrowOnDuplicate |
Získá hodnotu označující, zda pokus přidat duplicitní ConfigurationElement do ConfigurationElementCollection způsobí vyvolání výjimky. (Zděděno od ConfigurationElementCollection) |
Metody
Explicitní implementace rozhraní
| Name | Description |
|---|---|
| ICollection.CopyTo(Array, Int32) |
Zkopíruje ConfigurationElementCollection do pole. (Zděděno od ConfigurationElementCollection) |
Metody rozšíření
| Name | Description |
|---|---|
| AsParallel(IEnumerable) |
Umožňuje paralelizaci dotazu. |
| AsQueryable(IEnumerable) |
Převede IEnumerable na IQueryable. |
| Cast<TResult>(IEnumerable) |
Přetypuje prvky IEnumerable na zadaný typ. |
| OfType<TResult>(IEnumerable) |
Filtruje prvky IEnumerable na základě zadaného typu. |