EvaluateExpressions

Синтаксис

EvaluateExpressionsResult EvaluateExpressions(OdId tObject, EvaluateExpressionsArg tArg)

Параметры

tObject. Моникёр объекта среды разработки, для которого запущен процесс отладки.

tArg. Параметры выполнения операции.

Описание

Операция EvaluateExpressions вычисляет выражения во время отладки кода.

Комментарии

Операция позволяет в режиме отладки вычислить одно или несколько выражений, результатом которых будут значения простого типа. Для выполнения операции укажите в поле tObject моникёр объекта, находящегося в режиме отладки, а в поле tArg параметры вычисления выражений.

Результатом выполнения операции будут полученные значения и коллекция связанных с ними свойств.

Пример

Ниже приведён пример вычисления значений для двух выражений во время отладки кода. В запросе передаётся моникёр объекта, находящегося в режиме отладки, и список вычисляемых выражений. В ответе возвращаются полученные значения выражений.

SOAP-запрос:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<EvaluateExpressions xmlns="http://www.fsight.ru/PP.SOM.Som">
<tObject xmlns="">
  <id>PBIOBPCAEDCOFOAEFFEFLOBMFDKGKIMENIGAAFCLHCNIIEAC!M!305559</id>
  </tObject>
<tArg xmlns="">
<expressions>
  <it>count</it>
  <it>value</it>
  </expressions>
  <withProperties>true</withProperties>
  </tArg>
  </EvaluateExpressions>
  </s:Body>
  </s:Envelope>

SOAP-ответ:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<EvaluateExpressionsResult xmlns="http://www.fsight.ru/PP.SOM.Som" xmlns:q1="http://www.fsight.ru/PP.SOM.Som" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<evaluatedExpressions xmlns="">
<it>
  <name>count</name>
  <className>System.Integer</className>
  <value>5</value>
<properties>
  <it>ToString</it>
  </properties>
  </it>
<it>
  <name>value</name>
  <className>System.Double</className>
  <value>100.5</value>
<properties>
  <it>ToString</it>
  </properties>
  </it>
  </evaluatedExpressions>
  </EvaluateExpressionsResult>
  </soapenv:Body>
  </soapenv:Envelope>

JSON-запрос:

{
"EvaluateExpressions" :
{
"tObject" :
{
"id" : "PBIOBPCAEDCOFOAEFFEFLOBMFDKGKIMENIGAAFCLHCNIIEAC!M!305559"
},
"tArg" :
{
"expressions" :
{
"it" :
[
"count",
"value"
]
},
"withProperties" : "true"
}
}
}

JSON-ответ:

{
"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;
}

См. также:

Работа со средой разработки