a575963da9
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
182 lines
14 KiB
XML
182 lines
14 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<Type Name="ExpressionBuilder" FullName="System.Web.Compilation.ExpressionBuilder">
|
|
<TypeSignature Language="C#" Value="public abstract class ExpressionBuilder" />
|
|
<AssemblyInfo>
|
|
<AssemblyName>System.Web</AssemblyName>
|
|
<AssemblyVersion>2.0.0.0</AssemblyVersion>
|
|
</AssemblyInfo>
|
|
<Base>
|
|
<BaseTypeName>System.Object</BaseTypeName>
|
|
</Base>
|
|
<Interfaces />
|
|
<Docs>
|
|
<since version=".NET 2.0" />
|
|
<remarks>
|
|
<attribution license="cc4" from="Microsoft" modified="false" />
|
|
<para>The <see cref="T:System.Web.Compilation.ExpressionBuilder" /> class is the base class for expression builders, such as the <see cref="T:System.Web.Compilation.AppSettingsExpressionBuilder" /> class, that create code expressions during page parsing. </para>
|
|
<para>Expression builders parse declarative expressions and create code to retrieve values bound to a control property. In no-compile scenarios, an expression builder that supports a no-compile feature evaluates the expression during run time.</para>
|
|
<para>When the page parser encounters an expression that is delimited with the string <%$ %>, it creates an expression builder for the expression based on the prefix in the string. The prefix is the portion of the string that is to the left of the colon (:). For example, when the parser encounters the string <%$ ConnectionStrings:MessageDB %>, it creates a <see cref="T:System.Web.Compilation.ConnectionStringsExpressionBuilder" /> object. Prefixes are associated with expression builders in the Web.config file in the <see cref="P:System.Web.Configuration.CompilationSection.ExpressionBuilders" /> section.</para>
|
|
<para>The right side of the declarative expression is passed to the expression builder for evaluation. Override the <see cref="M:System.Web.Compilation.ExpressionBuilder.GetCodeExpression(System.Web.UI.BoundPropertyEntry,System.Object,System.Web.Compilation.ExpressionBuilderContext)" /> method to generate code that will be compiled with the page. </para>
|
|
<para>If you want the custom expression builder to be active on pages that are not compiled, you must also override the <see cref="M:System.Web.Compilation.ExpressionBuilder.EvaluateExpression(System.Object,System.Web.UI.BoundPropertyEntry,System.Object,System.Web.Compilation.ExpressionBuilderContext)" /> method to return an object that represents the results of the expression. You also must override the <see cref="P:System.Web.Compilation.ExpressionBuilder.SupportsEvaluate" /> property to indicate that the custom expression builder does support no-compile pages. </para>
|
|
<para>You can define a set of properties and methods for selecting and evaluating an expression that is associated with a control property at design time by implementing an expression editor. The editor is marked on the expression builder through class-level metadata. For more information, see <see cref="T:System.Web.UI.Design.ExpressionEditor" />.</para>
|
|
</remarks>
|
|
<summary>
|
|
<attribution license="cc4" from="Microsoft" modified="false" />
|
|
<para>Evaluates expressions during page parsing.</para>
|
|
</summary>
|
|
</Docs>
|
|
<Members>
|
|
<Member MemberName=".ctor">
|
|
<MemberSignature Language="C#" Value="protected ExpressionBuilder ();" />
|
|
<MemberType>Constructor</MemberType>
|
|
<Parameters />
|
|
<Docs>
|
|
<since version=".NET 2.0" />
|
|
<remarks>
|
|
<attribution license="cc4" from="Microsoft" modified="false" />
|
|
<para>Because the <see cref="T:System.Web.Compilation.ExpressionBuilder" /> class is abstract, you cannot create an instance of <see cref="T:System.Web.Compilation.ExpressionBuilder" /> directly by using the <see cref="M:System.Web.Compilation.ExpressionBuilder.#ctor" /> constructor.</para>
|
|
</remarks>
|
|
<summary>
|
|
<attribution license="cc4" from="Microsoft" modified="false" />
|
|
<para>Initializes a new instance of the <see cref="T:System.Web.Compilation.ExpressionBuilder" /> class.</para>
|
|
</summary>
|
|
</Docs>
|
|
<AssemblyInfo>
|
|
<AssemblyVersion>2.0.0.0</AssemblyVersion>
|
|
</AssemblyInfo>
|
|
</Member>
|
|
<Member MemberName="EvaluateExpression">
|
|
<MemberSignature Language="C#" Value="public virtual object EvaluateExpression (object target, System.Web.UI.BoundPropertyEntry entry, object parsedData, System.Web.Compilation.ExpressionBuilderContext context);" />
|
|
<MemberType>Method</MemberType>
|
|
<ReturnValue>
|
|
<ReturnType>System.Object</ReturnType>
|
|
</ReturnValue>
|
|
<Parameters>
|
|
<Parameter Name="target" Type="System.Object" />
|
|
<Parameter Name="entry" Type="System.Web.UI.BoundPropertyEntry" />
|
|
<Parameter Name="parsedData" Type="System.Object" />
|
|
<Parameter Name="context" Type="System.Web.Compilation.ExpressionBuilderContext" />
|
|
</Parameters>
|
|
<Docs>
|
|
<since version=".NET 2.0" />
|
|
<remarks>
|
|
<attribution license="cc4" from="Microsoft" modified="false" />
|
|
<para>If you want your <see cref="T:System.Web.Compilation.ExpressionBuilder" /> object to be active on a page that supports the no-compile feature, you can override the <see cref="M:System.Web.Compilation.ExpressionBuilder.EvaluateExpression(System.Object,System.Web.UI.BoundPropertyEntry,System.Object,System.Web.Compilation.ExpressionBuilderContext)" /> method and the <see cref="P:System.Web.Compilation.ExpressionBuilder.SupportsEvaluate" /> property. The <see cref="M:System.Web.Compilation.ExpressionBuilder.EvaluateExpression(System.Object,System.Web.UI.BoundPropertyEntry,System.Object,System.Web.Compilation.ExpressionBuilderContext)" /> method should return the evaluation of the current expression. </para>
|
|
</remarks>
|
|
<summary>
|
|
<attribution license="cc4" from="Microsoft" modified="false" />
|
|
<para>When overridden in a derived class, returns an object that represents an evaluated expression.</para>
|
|
</summary>
|
|
<returns>
|
|
<attribution license="cc4" from="Microsoft" modified="false" />
|
|
<para>An object that represents the evaluated expression; otherwise, null if the inheritor does not implement <see cref="M:System.Web.Compilation.ExpressionBuilder.EvaluateExpression(System.Object,System.Web.UI.BoundPropertyEntry,System.Object,System.Web.Compilation.ExpressionBuilderContext)" />.</para>
|
|
</returns>
|
|
<param name="target">
|
|
<attribution license="cc4" from="Microsoft" modified="false" />The object containing the expression.</param>
|
|
<param name="entry">
|
|
<attribution license="cc4" from="Microsoft" modified="false" />The object that represents information about the property bound to by the expression.</param>
|
|
<param name="parsedData">
|
|
<attribution license="cc4" from="Microsoft" modified="false" />The object containing parsed data as returned by <see cref="M:System.Web.Compilation.ExpressionBuilder.ParseExpression(System.String,System.Type,System.Web.Compilation.ExpressionBuilderContext)" />.</param>
|
|
<param name="context">
|
|
<attribution license="cc4" from="Microsoft" modified="false" />Contextual information for the evaluation of the expression.</param>
|
|
</Docs>
|
|
<AssemblyInfo>
|
|
<AssemblyVersion>2.0.0.0</AssemblyVersion>
|
|
</AssemblyInfo>
|
|
</Member>
|
|
<Member MemberName="GetCodeExpression">
|
|
<MemberSignature Language="C#" Value="public abstract System.CodeDom.CodeExpression GetCodeExpression (System.Web.UI.BoundPropertyEntry entry, object parsedData, System.Web.Compilation.ExpressionBuilderContext context);" />
|
|
<MemberType>Method</MemberType>
|
|
<ReturnValue>
|
|
<ReturnType>System.CodeDom.CodeExpression</ReturnType>
|
|
</ReturnValue>
|
|
<Parameters>
|
|
<Parameter Name="entry" Type="System.Web.UI.BoundPropertyEntry" />
|
|
<Parameter Name="parsedData" Type="System.Object" />
|
|
<Parameter Name="context" Type="System.Web.Compilation.ExpressionBuilderContext" />
|
|
</Parameters>
|
|
<Docs>
|
|
<since version=".NET 2.0" />
|
|
<remarks>
|
|
<attribution license="cc4" from="Microsoft" modified="false" />
|
|
<para>Classes that inherit from the <see cref="T:System.Web.Compilation.ExpressionBuilder" /> class must implement the <see cref="M:System.Web.Compilation.ExpressionBuilder.GetCodeExpression(System.Web.UI.BoundPropertyEntry,System.Object,System.Web.Compilation.ExpressionBuilderContext)" /> abstract method.</para>
|
|
</remarks>
|
|
<summary>
|
|
<attribution license="cc4" from="Microsoft" modified="false" />
|
|
<para>When overridden in a derived class, returns code that is used during page execution to obtain the evaluated expression.</para>
|
|
</summary>
|
|
<returns>
|
|
<attribution license="cc4" from="Microsoft" modified="false" />
|
|
<para>A <see cref="T:System.CodeDom.CodeExpression" /> that is used for property assignment.</para>
|
|
</returns>
|
|
<param name="entry">
|
|
<attribution license="cc4" from="Microsoft" modified="false" />The object that represents information about the property bound to by the expression.</param>
|
|
<param name="parsedData">
|
|
<attribution license="cc4" from="Microsoft" modified="false" />The object containing parsed data as returned by <see cref="M:System.Web.Compilation.ExpressionBuilder.ParseExpression(System.String,System.Type,System.Web.Compilation.ExpressionBuilderContext)" />. </param>
|
|
<param name="context">
|
|
<attribution license="cc4" from="Microsoft" modified="false" />Contextual information for the evaluation of the expression.</param>
|
|
</Docs>
|
|
<AssemblyInfo>
|
|
<AssemblyVersion>2.0.0.0</AssemblyVersion>
|
|
</AssemblyInfo>
|
|
</Member>
|
|
<Member MemberName="ParseExpression">
|
|
<MemberSignature Language="C#" Value="public virtual object ParseExpression (string expression, Type propertyType, System.Web.Compilation.ExpressionBuilderContext context);" />
|
|
<MemberType>Method</MemberType>
|
|
<ReturnValue>
|
|
<ReturnType>System.Object</ReturnType>
|
|
</ReturnValue>
|
|
<Parameters>
|
|
<Parameter Name="expression" Type="System.String" />
|
|
<Parameter Name="propertyType" Type="System.Type" />
|
|
<Parameter Name="context" Type="System.Web.Compilation.ExpressionBuilderContext" />
|
|
</Parameters>
|
|
<Docs>
|
|
<since version=".NET 2.0" />
|
|
<remarks>
|
|
<attribution license="cc4" from="Microsoft" modified="false" />
|
|
<para>When overridden in a derived class, this method parses the expression and returns it as an object that can be used as the <paramref name="parsedData" /> parameter in a <see cref="M:System.Web.Compilation.ExpressionBuilder.GetCodeExpression(System.Web.UI.BoundPropertyEntry,System.Object,System.Web.Compilation.ExpressionBuilderContext)" /> or <see cref="M:System.Web.Compilation.ExpressionBuilder.EvaluateExpression(System.Object,System.Web.UI.BoundPropertyEntry,System.Object,System.Web.Compilation.ExpressionBuilderContext)" /> method.</para>
|
|
</remarks>
|
|
<summary>
|
|
<attribution license="cc4" from="Microsoft" modified="false" />
|
|
<para>When overridden in a derived class, returns an object that represents the parsed expression.</para>
|
|
</summary>
|
|
<returns>
|
|
<attribution license="cc4" from="Microsoft" modified="false" />
|
|
<para>An <see cref="T:System.Object" /> containing the parsed representation of the expression; otherwise, null if <see cref="M:System.Web.Compilation.ExpressionBuilder.ParseExpression(System.String,System.Type,System.Web.Compilation.ExpressionBuilderContext)" /> is not implemented.</para>
|
|
</returns>
|
|
<param name="expression">
|
|
<attribution license="cc4" from="Microsoft" modified="false" />The value of the declarative expression.</param>
|
|
<param name="propertyType">
|
|
<attribution license="cc4" from="Microsoft" modified="false" />The type of the property bound to by the expression.</param>
|
|
<param name="context">
|
|
<attribution license="cc4" from="Microsoft" modified="false" />Contextual information for the evaluation of the expression.</param>
|
|
</Docs>
|
|
<AssemblyInfo>
|
|
<AssemblyVersion>2.0.0.0</AssemblyVersion>
|
|
</AssemblyInfo>
|
|
</Member>
|
|
<Member MemberName="SupportsEvaluate">
|
|
<MemberSignature Language="C#" Value="public virtual bool SupportsEvaluate { get; }" />
|
|
<MemberType>Property</MemberType>
|
|
<ReturnValue>
|
|
<ReturnType>System.Boolean</ReturnType>
|
|
</ReturnValue>
|
|
<Docs>
|
|
<value>To be added.</value>
|
|
<since version=".NET 2.0" />
|
|
<remarks>
|
|
<attribution license="cc4" from="Microsoft" modified="false" />
|
|
<para>The default value for the <see cref="P:System.Web.Compilation.ExpressionBuilder.SupportsEvaluate" /> property is false. To support no-compile pages, you must override both the <see cref="M:System.Web.Compilation.ExpressionBuilder.EvaluateExpression(System.Object,System.Web.UI.BoundPropertyEntry,System.Object,System.Web.Compilation.ExpressionBuilderContext)" /> method and the <see cref="P:System.Web.Compilation.ExpressionBuilder.SupportsEvaluate" /> property.</para>
|
|
</remarks>
|
|
<summary>
|
|
<attribution license="cc4" from="Microsoft" modified="false" />
|
|
<para>When overridden in a derived class, returns a value indicating whether the current <see cref="T:System.Web.Compilation.ExpressionBuilder" /> object supports no-compile pages. </para>
|
|
</summary>
|
|
</Docs>
|
|
<AssemblyInfo>
|
|
<AssemblyVersion>2.0.0.0</AssemblyVersion>
|
|
</AssemblyInfo>
|
|
</Member>
|
|
</Members>
|
|
</Type> |