BuildProviderCollection 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 BuildProvider objektů. Tato třída se nemůže dědit.
public ref class BuildProviderCollection sealed : System::Configuration::ConfigurationElementCollection
[System.Configuration.ConfigurationCollection(typeof(System.Web.Configuration.BuildProvider))]
public sealed class BuildProviderCollection : System.Configuration.ConfigurationElementCollection
[<System.Configuration.ConfigurationCollection(typeof(System.Web.Configuration.BuildProvider))>]
type BuildProviderCollection = class
inherit ConfigurationElementCollection
Public NotInheritable Class BuildProviderCollection
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í BuildProviderCollection třídy. Druhá ukazuje, jak používat členy BuildProviderCollection třídy.
Následující příklad konfiguračního BuildProviderCollection souboru ukazuje, jak deklarativní zadat hodnoty pro několik vlastností třídy.
<system.web>
<compilation>
<buildProviders>
<add extension=".aspx"
type="System.Web.Compilation.PageBuildProvider"
/>
<add extension=".ascx"
type="System.Web.Compilation.UserControlBuildProvider"
/>
<add extension=".master"
type="System.Web.Compilation.MasterPageBuildProvider"
/>
<add extension=".asix"
type="System.Web.Compilation.ImageGeneratorBuildProvider"
/>
<add extension=".asmx"
type="System.Web.Compilation.WebServiceBuildProvider"
/>
<add extension=".ashx"
type="System.Web.Compilation.WebHandlerBuildProvider"
/>
<add extension=".soap"
type="System.Web.Compilation.WebServiceBuildProvider"
/>
<add extension=".resx"
type="System.Web.Compilation.ResXBuildProvider"
appliesTo="Resources" />
<add extension=".resources"
type="System.Web.Compilation.ResourcesBuildProvider"
appliesTo="Code, Resources" />
<add extension=".wsdl"
type="System.Web.Compilation.WsdlBuildProvider"
appliesTo="Code" />
<add extension=".xsd"
type="System.Web.Compilation.XsdBuildProvider"
appliesTo="Code" />
</buildProviders>
</compilation>
</system.web>
Následující příklad kódu ukazuje, jak používat členy BuildProviderCollection třídy.
#region Using directives
using System;
using System.Configuration;
using System.Web.Configuration;
#endregion
namespace Samples.Aspnet.SystemWebConfiguration
{
class UsingBuildProviderCollection
{
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);
// Display BuildProviderCollection count.
Console.WriteLine("BuildProviderCollection count: {0}",
configSection.BuildProviders.Count);
// Create a new BuildProvider.
BuildProvider myBuildProvider =
new BuildProvider(".myres",
"System.Web.Compilation.ResourcesBuildProvider");
// Add an BuildProvider to the collection.
configSection.BuildProviders.Add(myBuildProvider);
// Create a second BuildProvider.
BuildProvider myBuildProvider2 =
new BuildProvider(".myres2",
"System.Web.Compilation.ResourcesBuildProvider");
// Add an BuildProvider to the collection.
configSection.BuildProviders.Add(myBuildProvider2);
// BuildProvider Collection
int i = 1;
int j = 1;
foreach (BuildProvider BuildProviderItem in
configSection.BuildProviders)
{
Console.WriteLine();
Console.WriteLine("BuildProviders {0} Details:", i);
Console.WriteLine("Type: {0}",
BuildProviderItem.ElementInformation.Type);
Console.WriteLine("Source: {0}",
BuildProviderItem.ElementInformation.Source);
Console.WriteLine("LineNumber: {0}",
BuildProviderItem.ElementInformation.LineNumber);
Console.WriteLine("Properties Count: {0}",
BuildProviderItem.ElementInformation.Properties.Count);
j = 1;
foreach (PropertyInformation propertyItem in
BuildProviderItem.ElementInformation.Properties)
{
Console.WriteLine("Property {0} Name: {1}", j,
propertyItem.Name);
Console.WriteLine("Property {0} Value: {1}", j,
propertyItem.Value);
j++;
}
i++;
}
// Remove a BuildProvider.
configSection.BuildProviders.Remove(".myres2");
// Remove an BuildProvider.
configSection.BuildProviders.RemoveAt(
configSection.BuildProviders.Count - 1);
// 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 UsingBuildProviderCollection
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)
' Display BuildProviderCollection count.
Console.WriteLine("BuildProviderCollection count: {0}", _
configSection.BuildProviders.Count)
' Create a new BuildProvider.
Dim myBuildProvider As BuildProvider = _
New BuildProvider(".myres", _
"System.Web.Compilation.ResourcesBuildProvider")
' Add an BuildProvider to the collection.
configSection.BuildProviders.Add(myBuildProvider)
' Create a second BuildProvider.
Dim myBuildProvider2 As BuildProvider = _
New BuildProvider(".myres2", _
"System.Web.Compilation.ResourcesBuildProvider")
' Add an BuildProvider to the collection.
configSection.BuildProviders.Add(myBuildProvider2)
' BuildProvider Collection
Dim i = 1
Dim j = 1
For Each BuildProviderItem As _
BuildProvider In configSection.BuildProviders
Console.WriteLine()
Console.WriteLine("BuildProvider {0} Details:", i)
Console.WriteLine("Type: {0}", _
BuildProviderItem.ElementInformation.Type)
Console.WriteLine("Source: {0}", _
BuildProviderItem.ElementInformation.Source)
Console.WriteLine("LineNumber: {0}", _
BuildProviderItem.ElementInformation.LineNumber)
Console.WriteLine("Properties Count: {0}", _
BuildProviderItem.ElementInformation.Properties.Count)
j = 1
For Each propertyItem As PropertyInformation In _
BuildProviderItem.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 BuildProvider.
configSection.BuildProviders.Remove(".myres2")
' Remove an BuildProvider.
configSection.BuildProviders.RemoveAt( _
configSection.BuildProviders.Count - 1)
' 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
Slouží BuildProviderCollection ke kompilaci vlastních souborů prostředků. Můžete mít libovolný počet zprostředkovatelů sestavení. Neodkazuje BuildProviderCollection 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 |
|---|---|
| BuildProviderCollection() |
Inicializuje novou instanci BuildProviderCollection 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] |
BuildProvider Získá objekt v zadaném indexu kolekce. |
| Item[String] |
BuildProvider Získá collection element na základě zadaného názvu. |
| 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. |