Condividi tramite


ExpressionBuilder.EvaluateExpression Metodo

Definizione

Quando viene eseguito l'override in una classe derivata, restituisce un oggetto che rappresenta un'espressione valutata.

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

Parametri

target
Object

Oggetto contenente l'espressione.

entry
BoundPropertyEntry

Oggetto che rappresenta le informazioni relative alla proprietà associata dall'espressione.

parsedData
Object

Oggetto contenente i dati analizzati restituiti dal metodo ParseExpression(String, Type, ExpressionBuilderContext).

context
ExpressionBuilderContext

Informazioni contestuali per la valutazione dell'espressione.

Restituisce

Oggetto che rappresenta l'espressione valutata; in caso contrario null se l'erede non implementa EvaluateExpression(Object, BoundPropertyEntry, Object, ExpressionBuilderContext).

Esempio

Nell'esempio di codice seguente viene illustrato come utilizzare il metodo sottoposto EvaluateExpression a override per restituire un'espressione valutata.

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

Commenti

Se si desidera che l'oggetto ExpressionBuilder sia attivo in una pagina che supporta la funzionalità senza compilazione, è possibile eseguire l'override del EvaluateExpression metodo e della SupportsEvaluate proprietà . Il EvaluateExpression metodo deve restituire la valutazione dell'espressione corrente.

Note per gli eredi

Se si esegue l'override del EvaluateExpression(Object, BoundPropertyEntry, Object, ExpressionBuilderContext) metodo, è anche necessario eseguire l'override della SupportsEvaluate proprietà .

Si applica a