ExpressionBuilder.EvaluateExpression 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在派生类中重写时,会返回一个对象,该对象表示计算出的表达式。
public:
virtual System::Object ^ EvaluateExpression(System::Object ^ target, System::Web::UI::BoundPropertyEntry ^ entry, System::Object ^ parsedData, System::Web::Compilation::ExpressionBuilderContext ^ context);
public virtual object EvaluateExpression (object target, System.Web.UI.BoundPropertyEntry entry, object parsedData, System.Web.Compilation.ExpressionBuilderContext context);
abstract member EvaluateExpression : obj * System.Web.UI.BoundPropertyEntry * obj * System.Web.Compilation.ExpressionBuilderContext -> obj
override this.EvaluateExpression : obj * System.Web.UI.BoundPropertyEntry * obj * System.Web.Compilation.ExpressionBuilderContext -> obj
Public Overridable Function EvaluateExpression (target As Object, entry As BoundPropertyEntry, parsedData As Object, context As ExpressionBuilderContext) As Object
参数
- target
- Object
包含表达式的对象。
- entry
- BoundPropertyEntry
表示与被表达式绑定到的属性有关的信息的对象。
- parsedData
- Object
包含通过分析得到并且由 ParseExpression(String, Type, ExpressionBuilderContext) 返回的数据的对象。
- context
- ExpressionBuilderContext
表达式计算的上下文信息。
返回
表示计算出的表达式的对象;如果继承者未实现 EvaluateExpression(Object, BoundPropertyEntry, Object, ExpressionBuilderContext),则为 null
。
示例
下面的代码示例演示如何使用重写 EvaluateExpression 的方法返回计算的表达式。
public override object EvaluateExpression(object target, BoundPropertyEntry entry,
object parsedData, ExpressionBuilderContext context)
{
return GetEvalData(entry.Expression, target.GetType(), entry.Name);
}
Public Overrides Function EvaluateExpression(ByVal target As Object, _
ByVal entry As BoundPropertyEntry, ByVal parsedData As Object, _
ByVal context As ExpressionBuilderContext) As Object
Return GetEvalData(entry.Expression, target.GetType(), entry.Name)
End Function
注解
如果希望 ExpressionBuilder 对象在支持非编译功能的页面上处于活动状态,可以重写 EvaluateExpression 方法和 SupportsEvaluate 属性。 方法 EvaluateExpression 应返回当前表达式的计算。
继承者说明
如果重写 EvaluateExpression(Object, BoundPropertyEntry, Object, ExpressionBuilderContext) 方法,则还必须重写 SupportsEvaluate 属性。