EvaluateExpressionsResult EvaluateExpressions(OdId tObject, EvaluateExpressionsArg tArg)
tObject. Моникёр объекта среды разработки, для которого запущен процесс отладки.
tArg. Параметры выполнения операции.
Операция EvaluateExpressions вычисляет выражения во время отладки кода.
Операция позволяет в режиме отладки вычислить одно или несколько выражений, результатом которых будут значения простого типа. Для выполнения операции укажите в поле tObject моникёр объекта, находящегося в режиме отладки, а в поле tArg параметры вычисления выражений.
Результатом выполнения операции будут полученные значения и коллекция связанных с ними свойств.
Ниже приведён пример вычисления значений для двух выражений во время отладки кода. В запросе передаётся моникёр объекта, находящегося в режиме отладки, и список вычисляемых выражений. В ответе возвращаются полученные значения выражений.
{
"EvaluateExpressions" :
{
"tObject" :
{
"id" : "PBIOBPCAEDCOFOAEFFEFLOBMFDKGKIMENIGAAFCLHCNIIEAC!M!305559"
},
"tArg" :
{
"expressions" :
{
"it" :
[
"count",
"value"
]
},
"withProperties" : "true"
}
}
}
{
"EvaluateExpressionsResult" :
{
"evaluatedExpressions" :
{
"it" :
[
{
"name" : "count",
"className" : "System.Integer",
"value" : "5",
"properties" :
{
"it" : "ToString"
}
},
{
"name" : "value",
"className" : "System.Double",
"value" : "100.5",
"properties" :
{
"it" : "ToString"
}
}
]
}
}
}
public static EvaluateExpressionsResult EvaluateExpressions(MbId mb, string modId, string[] evaluateExpressions)
{
var somClient = new SomPortTypeClient(); // Прокси-объект для выполнения операций
// Параметры выполнения операции
var tGet = new EvaluateExpressions()
{
tArg = new EvaluateExpressionsArg()
{
expressions = evaluateExpressions,
withProperties = true
},
// Формирование моникёра объекта
tObject = new OdId() { id = mb.id + "!" + FindObjectById(mb, modId).k }
};
// Вычисление выражений
var result = somClient.EvaluateExpressions(tGet);
return result;
}
См. также: