Udostępnij za pośrednictwem


ExpressionBuilder.EvaluateExpression Metoda

Definicja

Po przesłonięciu w klasie pochodnej zwraca obiekt reprezentujący obliczone wyrażenie.

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

Parametry

target
Object

Obiekt zawierający wyrażenie.

entry
BoundPropertyEntry

Obiekt reprezentujący informacje o właściwości powiązanej z wyrażeniem.

parsedData
Object

Obiekt zawierający przeanalizowane dane zwrócone przez ParseExpression(String, Type, ExpressionBuilderContext)element .

context
ExpressionBuilderContext

Informacje kontekstowe dotyczące oceny wyrażenia.

Zwraca

Obiekt reprezentujący obliczone wyrażenie; w przeciwnym razie, null jeśli dziedzicz nie implementuje EvaluateExpression(Object, BoundPropertyEntry, Object, ExpressionBuilderContext).

Przykłady

W poniższym przykładzie kodu pokazano, jak użyć metody zastąpienia EvaluateExpression w celu zwrócenia obliczonego wyrażenia.

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

Uwagi

Jeśli chcesz ExpressionBuilder , aby obiekt był aktywny na stronie obsługującej funkcję bez kompilacji, możesz zastąpić metodę EvaluateExpression i SupportsEvaluate właściwość . Metoda EvaluateExpression powinna zwrócić ocenę bieżącego wyrażenia.

Notatki dotyczące dziedziczenia

Jeśli zastąpisz metodę EvaluateExpression(Object, BoundPropertyEntry, Object, ExpressionBuilderContext) , musisz również zastąpić SupportsEvaluate właściwość .

Dotyczy