Поделиться через


ExpressionBuilder.EvaluateExpression Метод

Определение

При переопределении в производном классе возвращает объект, представляющий вычисленное выражение.

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 свойство .

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