Итак, похоже, что правильный способ сделать это - использовать форму области видимости и поместить форму выражения внутри нее. Вы можете установить тип транзакции формы «Нет», если вам не нужна особая обработка транзакций. Форма формы может иметь переменные, связанные с ней (или сообщения или наборы корреляций), и они видны только фигурам в ней.
Если вы посмотрите код XLANG / s, сгенерированный при использовании формы области, то увидите, что он использует ключевое слово scope
. Оказывается, вы можете поместить один и тот же код в ваше выражение! Итак, вы бы сделали что-то вроде этого:
scope
{
System.String tempString;
body
{
tempString = someCalculation;
// etc.
}
}