BuildProviderCollection Класс

Определение

Представляет коллекцию объектов BuildProvider. Этот класс не наследуется.

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
Наследование
Атрибуты

Примеры

В этом разделе приведены два примера кода. В первом примере показано, как декларативно указать значения для нескольких свойств BuildProviderCollection класса. Во втором примере показано, как использовать члены BuildProviderCollection класса.

В следующем примере файла конфигурации показано, как декларативно указать значения для нескольких свойств BuildProviderCollection класса.

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

В следующем примере кода показано, как использовать члены BuildProviderCollection класса.

#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

Комментарии

Используется BuildProviderCollection для компиляции пользовательских файлов ресурсов. Можно использовать любое число поставщиков построения. Не BuildProviderCollection ссылается на фактический элемент в базовом файле конфигурации. Это конструкция, которая позволяет легко получить доступ к содержащейся в ней информации компиляции.

Конструкторы

BuildProviderCollection()

Инициализирует новый экземпляр класса BuildProviderCollection.

Свойства

AddElementName

Возвращает или устанавливает имя ConfigurationElement, связанное с операцией добавления в ConfigurationElementCollection после переопределения в производном классе.

(Унаследовано от ConfigurationElementCollection)
ClearElementName

Возвращает или задает имя ConfigurationElement, связанное с операцией очистки в ConfigurationElementCollection после переопределения в производном классе.

(Унаследовано от ConfigurationElementCollection)
CollectionType

Возвращает тип службы ConfigurationElementCollection.

(Унаследовано от ConfigurationElementCollection)
Count

Получает количество элементов коллекции.

(Унаследовано от ConfigurationElementCollection)
CurrentConfiguration

Возвращает ссылку на экземпляр Configuration верхнего уровня, представляющий иерархию конфигурации, к которой относится текущий экземпляр ConfigurationElement.

(Унаследовано от ConfigurationElement)
ElementInformation

Возвращает объект ElementInformation, содержащий неизменяемую информацию и функциональность объекта ConfigurationElement.

(Унаследовано от ConfigurationElement)
ElementName

Получает имя, используемое для данной коллекции элементов в файле конфигурации после переопределения в производном классе.

(Унаследовано от ConfigurationElementCollection)
ElementProperty

Возвращает объект ConfigurationElementProperty, представляющий сам объект ConfigurationElement.

(Унаследовано от ConfigurationElement)
EmitClear

Получает или задает значение, указывающее, была ли коллекция очищена.

(Унаследовано от ConfigurationElementCollection)
EvaluationContext

Возвращает объект ContextInformation для объекта ConfigurationElement.

(Унаследовано от ConfigurationElement)
HasContext

Возвращает значение, указывающее, имеет ли свойство CurrentConfiguration значение null.

(Унаследовано от ConfigurationElement)
IsSynchronized

Возвращает значение, показывающее, синхронизирован ли доступ к коллекции.

(Унаследовано от ConfigurationElementCollection)
Item[ConfigurationProperty]

Возвращает или задает свойство или атрибут данного элемента конфигурации.

(Унаследовано от ConfigurationElement)
Item[Int32]

Получает объект BuildProvider по указанному индексу в коллекции.

Item[String]

Получает элемент коллекции BuildProvider на основе заданного имени.

LockAllAttributesExcept

Возвращает коллекцию заблокированных атрибутов.

(Унаследовано от ConfigurationElement)
LockAllElementsExcept

Возвращает коллекцию заблокированных элементов.

(Унаследовано от ConfigurationElement)
LockAttributes

Возвращает коллекцию заблокированных атрибутов.

(Унаследовано от ConfigurationElement)
LockElements

Возвращает коллекцию заблокированных элементов.

(Унаследовано от ConfigurationElement)
LockItem

Возвращает или задает значение, указывающее, заблокирован ли элемент.

(Унаследовано от ConfigurationElement)
Properties

Возвращает коллекцию свойств.

(Унаследовано от ConfigurationElement)
RemoveElementName

Получает или задает имя ConfigurationElement, связанное с операцией удаления в ConfigurationElementCollection после переопределения в производном классе.

(Унаследовано от ConfigurationElementCollection)
SyncRoot

Получает объект, используемый для синхронизации доступа к ConfigurationElementCollection.

(Унаследовано от ConfigurationElementCollection)
ThrowOnDuplicate

Возвращает значение, указывающее, выдаст ли исключение попытка добавить дубликат ConfigurationElement к ConfigurationElementCollection.

(Унаследовано от ConfigurationElementCollection)

Методы

Add(BuildProvider)

Добавляет объект BuildProvider в коллекцию BuildProviderCollection.

BaseAdd(ConfigurationElement)

Добавляет новый элемент конфигурации в ConfigurationElementCollection.

(Унаследовано от ConfigurationElementCollection)
BaseAdd(ConfigurationElement, Boolean)

Добавляет элемент конфигурации в коллекцию элементов конфигурации.

(Унаследовано от ConfigurationElementCollection)
BaseAdd(Int32, ConfigurationElement)

Добавляет элемент конфигурации в коллекцию элементов конфигурации.

(Унаследовано от ConfigurationElementCollection)
BaseClear()

Удаляет все объекты элементов конфигурации из коллекции.

(Унаследовано от ConfigurationElementCollection)
BaseGet(Int32)

Возвращает элемент конфигурации с указанным расположением индекса.

(Унаследовано от ConfigurationElementCollection)
BaseGet(Object)

Возвращает элемент конфигурации с указанным ключом.

(Унаследовано от ConfigurationElementCollection)
BaseGetAllKeys()

Возвращает массив ключей для всех элементов конфигурации, содержащихся в ConfigurationElementCollection.

(Унаследовано от ConfigurationElementCollection)
BaseGetKey(Int32)

Получает ключ объекта ConfigurationElement по указанному расположению индекса.

(Унаследовано от ConfigurationElementCollection)
BaseIndexOf(ConfigurationElement)

Указывает индекс заданного объекта ConfigurationElement.

(Унаследовано от ConfigurationElementCollection)
BaseIsRemoved(Object)

Указывает, удален ли ConfigurationElement с указанным ключом из ConfigurationElementCollection.

(Унаследовано от ConfigurationElementCollection)
BaseRemove(Object)

Удаляет объект ConfigurationElement из коллекции.

(Унаследовано от ConfigurationElementCollection)
BaseRemoveAt(Int32)

Удаляет объект ConfigurationElement по указанному расположению индекса.

(Унаследовано от ConfigurationElementCollection)
Clear()

Удаляет все объекты BuildProvider из коллекции BuildProviderCollection.

CopyTo(ConfigurationElement[], Int32)

Копирует содержимое объекта ConfigurationElementCollection в массив.

(Унаследовано от ConfigurationElementCollection)
CreateNewElement()

При переопределении в производном классе создает новый объект ConfigurationElement.

(Унаследовано от ConfigurationElementCollection)
CreateNewElement(String)

При переопределении в производном классе создает новый элемент ConfigurationElement.

(Унаследовано от ConfigurationElementCollection)
DeserializeElement(XmlReader, Boolean)

Считывает XML из файла конфигурации.

(Унаследовано от ConfigurationElement)
Equals(Object)

Сравнивает ConfigurationElementCollection с указанным объектом.

(Унаследовано от ConfigurationElementCollection)
GetElementKey(ConfigurationElement)

При переопределении в производном классе возвращает ключ указанного элемента конфигурации.

(Унаследовано от ConfigurationElementCollection)
GetEnumerator()

Получает метод IEnumerator, используемый для итерации по ConfigurationElementCollection.

(Унаследовано от ConfigurationElementCollection)
GetHashCode()

Получает уникальное значение, представляющее экземпляр ConfigurationElementCollection.

(Унаследовано от ConfigurationElementCollection)
GetTransformedAssemblyString(String)

Возвращает преобразованную версию указанного имени сборки.

(Унаследовано от ConfigurationElement)
GetTransformedTypeString(String)

Возвращает преобразованную версию указанного имени типа.

(Унаследовано от ConfigurationElement)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
Init()

Задает объект ConfigurationElement в исходное состояние.

(Унаследовано от ConfigurationElement)
InitializeDefault()

Используется для инициализации набора значений по умолчанию для объекта ConfigurationElement.

(Унаследовано от ConfigurationElement)
IsElementName(String)

Указывает, существует ли указанный ConfigurationElement в ConfigurationElementCollection.

(Унаследовано от ConfigurationElementCollection)
IsElementRemovable(ConfigurationElement)

Указывает, может ли указанный объект ConfigurationElement быть удален из ConfigurationElementCollection.

(Унаследовано от ConfigurationElementCollection)
IsModified()

Указывает, был ли изменен ConfigurationElementCollection с момента последнего сохранения или загрузки после переопределения в производном классе.

(Унаследовано от ConfigurationElementCollection)
IsReadOnly()

Указывает, доступен ли объект ConfigurationElementCollection только для чтения.

(Унаследовано от ConfigurationElementCollection)
ListErrors(IList)

Добавляет ошибку "недействительное свойство" в данном объекте ConfigurationElement и всех его дочерних элементах к переданному списку.

(Унаследовано от ConfigurationElement)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
OnDeserializeUnrecognizedAttribute(String, String)

Возвращает значение, указывающее, встретился ли неизвестный атрибут при десериализации.

(Унаследовано от ConfigurationElement)
OnDeserializeUnrecognizedElement(String, XmlReader)

Приводит к тому, что система конфигурации выдает исключение.

(Унаследовано от ConfigurationElementCollection)
OnRequiredPropertyNotFound(String)

Выдает исключение, если требуемое свойство не найдено.

(Унаследовано от ConfigurationElement)
PostDeserialize()

Вызывается после десериализации.

(Унаследовано от ConfigurationElement)
PreSerialize(XmlWriter)

Вызывается до сериализации.

(Унаследовано от ConfigurationElement)
Remove(String)

Удаляет объект BuildProvider из BuildProviderCollection.

RemoveAt(Int32)

Удаляет объект BuildProvider в заданном индексе из коллекции BuildProviderCollection.

Reset(ConfigurationElement)

Сбрасывает ConfigurationElementCollection в неизмененное состояние после переопределения в производном классе.

(Унаследовано от ConfigurationElementCollection)
ResetModified()

Переустанавливает значение свойства IsModified() в false при переопределении в производном классе.

(Унаследовано от ConfigurationElementCollection)
SerializeElement(XmlWriter, Boolean)

Записывает данные конфигурации в XML-элемент в файле конфигурации после переопределения в производном классе.

(Унаследовано от ConfigurationElementCollection)
SerializeToXmlElement(XmlWriter, String)

Записывает внешние теги данного элемента конфигурации в файл конфигурации при реализации в производном классе.

(Унаследовано от ConfigurationElement)
SetPropertyValue(ConfigurationProperty, Object, Boolean)

Задает для свойства указанное значение.

(Унаследовано от ConfigurationElement)
SetReadOnly()

Устанавливает свойство IsReadOnly() для объекта ConfigurationElementCollection и всех подчиненных элементов.

(Унаследовано от ConfigurationElementCollection)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)
Unmerge(ConfigurationElement, ConfigurationElement, ConfigurationSaveMode)

Отменяет эффект слияния данных конфигурации на разных уровнях иерархии конфигурации.

(Унаследовано от ConfigurationElementCollection)

Явные реализации интерфейса

ICollection.CopyTo(Array, Int32)

Копирует ConfigurationElementCollection в массив.

(Унаследовано от ConfigurationElementCollection)

Методы расширения

Cast<TResult>(IEnumerable)

Приводит элементы объекта IEnumerable к заданному типу.

OfType<TResult>(IEnumerable)

Выполняет фильтрацию элементов объекта IEnumerable по заданному типу.

AsParallel(IEnumerable)

Позволяет осуществлять параллельный запрос.

AsQueryable(IEnumerable)

Преобразовывает коллекцию IEnumerable в объект IQueryable.

Применяется к

См. также раздел