ExpressionBuilderCollection クラス
アセンブリ: System.Web (system.web.dll 内)


ExpressionBuilderCollection クラスは、基になる構成ファイル内の実際の要素を参照しているわけではありません。このコレクションは、格納されているコンパイル情報に簡単にアクセスできるようにする構造体です。

このセクションには、2 つのコード例が用意されています。最初の例では、ExpressionBuilderCollection クラスの複数のプロパティに対して、宣言によって値を指定する方法を示しています。2 つ目のコード例では、ExpressionBuilderCollection クラスのメンバを使用する方法を示しています。
次の構成ファイルの例では、ExpressionBuilderCollection クラスの複数のプロパティに対して、宣言によって値を指定する方法を示しています。
<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>
ExpressionBuilderCollection クラスのメンバを使用する方法を次のコード例に示します。
Imports System 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
#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(); } } }

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


Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- ExpressionBuilderCollection クラスのページへのリンク