ExpressionBuilderCollection Class
TOC
Collapse the table of content
Expand the table of content

ExpressionBuilderCollection Class

 

Represents a collection of ExpressionBuilder objects. This class cannot be inherited.

Namespace:   System.Web.Configuration
Assembly:  System.Web (in System.Web.dll)

System.Object
  System.Configuration.ConfigurationElement
    System.Configuration.ConfigurationElementCollection
      System.Web.Configuration.ExpressionBuilderCollection

[ConfigurationCollectionAttribute(typeof(ExpressionBuilder))]
public sealed class ExpressionBuilderCollection : ConfigurationElementCollection

NameDescription
System_CAPS_pubmethodExpressionBuilderCollection()

Initializes a new instance of the ExpressionBuilderCollection class.

NameDescription
System_CAPS_protpropertyAddElementName

Gets or sets the name of the ConfigurationElement to associate with the add operation in the ConfigurationElementCollection when overridden in a derived class. (Inherited from ConfigurationElementCollection.)

System_CAPS_protpropertyClearElementName

Gets or sets the name for the ConfigurationElement to associate with the clear operation in the ConfigurationElementCollection when overridden in a derived class. (Inherited from ConfigurationElementCollection.)

System_CAPS_pubpropertyCollectionType

Gets the type of the ConfigurationElementCollection.(Inherited from ConfigurationElementCollection.)

System_CAPS_pubpropertyCount

Gets the number of elements in the collection.(Inherited from ConfigurationElementCollection.)

System_CAPS_pubpropertyCurrentConfiguration

Gets a reference to the top-level Configuration instance that represents the configuration hierarchy that the current ConfigurationElement instance belongs to.(Inherited from ConfigurationElement.)

System_CAPS_pubpropertyElementInformation

Gets an ElementInformation object that contains the non-customizable information and functionality of the ConfigurationElement object. (Inherited from ConfigurationElement.)

System_CAPS_protpropertyElementProperty

Gets the ConfigurationElementProperty object that represents the ConfigurationElement object itself.(Inherited from ConfigurationElement.)

System_CAPS_pubpropertyEmitClear

Gets or sets a value that specifies whether the collection has been cleared.(Inherited from ConfigurationElementCollection.)

System_CAPS_pubpropertyIsSynchronized

Gets a value indicating whether access to the collection is synchronized.(Inherited from ConfigurationElementCollection.)

System_CAPS_protpropertyItem[ConfigurationProperty]

Gets or sets a property or attribute of this configuration element.(Inherited from ConfigurationElement.)

System_CAPS_pubpropertyItem[Int32]

Gets or sets the ExpressionBuilder at the specified index in the ExpressionBuilderCollection collection.

System_CAPS_pubpropertyItem[String]

Gets the ExpressionBuilder object with the specified name.

System_CAPS_pubpropertyLockAllAttributesExcept

Gets the collection of locked attributes.(Inherited from ConfigurationElement.)

System_CAPS_pubpropertyLockAllElementsExcept

Gets the collection of locked elements.(Inherited from ConfigurationElement.)

System_CAPS_pubpropertyLockAttributes

Gets the collection of locked attributes (Inherited from ConfigurationElement.)

System_CAPS_pubpropertyLockElements

Gets the collection of locked elements.(Inherited from ConfigurationElement.)

System_CAPS_pubpropertyLockItem

Gets or sets a value indicating whether the element is locked.(Inherited from ConfigurationElement.)

System_CAPS_protpropertyProperties

Gets the collection of properties.(Inherited from ConfigurationElement.)

System_CAPS_protpropertyRemoveElementName

Gets or sets the name of the ConfigurationElement to associate with the remove operation in the ConfigurationElementCollection when overridden in a derived class. (Inherited from ConfigurationElementCollection.)

System_CAPS_pubpropertySyncRoot

Gets an object used to synchronize access to the ConfigurationElementCollection.(Inherited from ConfigurationElementCollection.)

NameDescription
System_CAPS_pubmethodAdd(ExpressionBuilder)

Adds an ExpressionBuilder object to the ExpressionBuilderCollection.

System_CAPS_protmethodBaseAdd(ConfigurationElement, Boolean)

Adds a configuration element to the configuration element collection.(Inherited from ConfigurationElementCollection.)

System_CAPS_protmethodBaseClear()

Removes all configuration element objects from the collection.(Inherited from ConfigurationElementCollection.)

System_CAPS_protmethodBaseGet(Int32)

Gets the configuration element at the specified index location.(Inherited from ConfigurationElementCollection.)

System_CAPS_protmethodBaseGet(Object)

Returns the configuration element with the specified key.(Inherited from ConfigurationElementCollection.)

System_CAPS_protmethodBaseGetAllKeys()

Returns an array of the keys for all of the configuration elements contained in the ConfigurationElementCollection.(Inherited from ConfigurationElementCollection.)

System_CAPS_protmethodBaseGetKey(Int32)

Gets the key for the ConfigurationElement at the specified index location.(Inherited from ConfigurationElementCollection.)

System_CAPS_protmethodBaseIsRemoved(Object)

Indicates whether the ConfigurationElement with the specified key has been removed from the ConfigurationElementCollection.(Inherited from ConfigurationElementCollection.)

System_CAPS_protmethodBaseRemove(Object)

Removes a ConfigurationElement from the collection.(Inherited from ConfigurationElementCollection.)

System_CAPS_protmethodBaseRemoveAt(Int32)

Removes the ConfigurationElement at the specified index location.(Inherited from ConfigurationElementCollection.)

System_CAPS_pubmethodClear()

Clears all the ExpressionBuilder objects from the ExpressionBuilderCollection collection.

System_CAPS_pubmethodCopyTo(ConfigurationElement[], Int32)

Copies the contents of the ConfigurationElementCollection to an array.(Inherited from ConfigurationElementCollection.)

System_CAPS_protmethodDeserializeElement(XmlReader, Boolean)

Reads XML from the configuration file.(Inherited from ConfigurationElement.)

System_CAPS_pubmethodEquals(Object)

Compares the ConfigurationElementCollection to the specified object.(Inherited from ConfigurationElementCollection.)

System_CAPS_pubmethodGetEnumerator()

This API supports the product infrastructure and is not intended to be used directly from your code. Gets an IEnumerator which is used to iterate through the ConfigurationElementCollection.(Inherited from ConfigurationElementCollection.)

System_CAPS_pubmethodGetHashCode()

Gets a unique value representing the ConfigurationElementCollection instance.(Inherited from ConfigurationElementCollection.)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_protmethodInit()

Sets the ConfigurationElement object to its initial state.(Inherited from ConfigurationElement.)

System_CAPS_protmethodInitializeDefault()

Used to initialize a default set of values for the ConfigurationElement object.(Inherited from ConfigurationElement.)

System_CAPS_protmethodIsModified()

Indicates whether this ConfigurationElementCollection has been modified since it was last saved or loaded when overridden in a derived class.(Inherited from ConfigurationElementCollection.)

System_CAPS_pubmethodIsReadOnly()

Indicates whether the ConfigurationElementCollection object is read only.(Inherited from ConfigurationElementCollection.)

System_CAPS_pubmethodRemove(String)

Removes an ExpressionBuilder object from the ExpressionBuilderCollection collection.

System_CAPS_pubmethodRemoveAt(Int32)

Removes an ExpressionBuilder object from the ExpressionBuilderCollection collection.

System_CAPS_protmethodReset(ConfigurationElement)

Resets the ConfigurationElementCollection to its unmodified state when overridden in a derived class.(Inherited from ConfigurationElementCollection.)

System_CAPS_protmethodResetModified()

Resets the value of the IsModified property to false when overridden in a derived class.(Inherited from ConfigurationElementCollection.)

System_CAPS_protmethodSerializeElement(XmlWriter, Boolean)

Writes the configuration data to an XML element in the configuration file when overridden in a derived class.(Inherited from ConfigurationElementCollection.)

System_CAPS_protmethodSerializeToXmlElement(XmlWriter, String)

Writes the outer tags of this configuration element to the configuration file when implemented in a derived class.(Inherited from ConfigurationElement.)

System_CAPS_protmethodSetReadOnly()

This API supports the product infrastructure and is not intended to be used directly from your code. Sets the IsReadOnly property for the ConfigurationElementCollection object and for all sub-elements.(Inherited from ConfigurationElementCollection.)

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

System_CAPS_protmethodUnmerge(ConfigurationElement, ConfigurationElement, ConfigurationSaveMode)

This API supports the product infrastructure and is not intended to be used directly from your code. Reverses the effect of merging configuration information from different levels of the configuration hierarchy (Inherited from ConfigurationElementCollection.)

NameDescription
System_CAPS_pubmethodAsParallel()

Overloaded. Enables parallelization of a query.(Defined by ParallelEnumerable.)

System_CAPS_pubmethodAsQueryable()

Overloaded. Converts an IEnumerable to an IQueryable.(Defined by Queryable.)

System_CAPS_pubmethodCast<TResult>()

Casts the elements of an IEnumerable to the specified type.(Defined by Enumerable.)

System_CAPS_pubmethodOfType<TResult>()

Filters the elements of an IEnumerable based on a specified type.(Defined by Enumerable.)

The ExpressionBuilderCollection class does not refer to any actual element in the underlying configuration file. It is a construct that allows easy access to the compilation information it contains.

This section provides two code examples. The first demonstrates how to declaratively specify values for several properties of the ExpressionBuilderCollection class. The second demonstrates how to use members of the ExpressionBuilderCollection class.

The following configuration file example shows how to declaratively specify values for several properties of the ExpressionBuilderCollection class.

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

The following code example demonstrates how to use members of the ExpressionBuilderCollection class.

#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();
    }
  }
}

.NET Framework
Available since 2.0

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
Show:
© 2016 Microsoft