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