Windows Workflow Foundation 4.0, выход из режима ForEach <T> - PullRequest
0 голосов
/ 07 января 2010

Я использую Visual Studio 2010 Beta 2, чтобы начать изучение WF4. Я работаю в конструкторе, чтобы создать файл xaml. Я добавил действие ForEach, и внутри этого действия ForEach есть блок-схема, которая выполняет некоторую условную обработку. Я хочу быть в состоянии выйти из ForEach, если выполняется одно из условий, но не могу понять, как это сделать. В коде C #, стоящем за файлом, который просто должен был сделать перерыв; , но в конструкторе рабочих процессов xaml я не вижу никакого механизма выхода из цикла. Есть предложения?

Ответы [ 2 ]

3 голосов
/ 11 января 2010

В WF4 нет эквивалента перерыва. Поэтому вам нужно либо начать добавлять условную логику, чтобы пропустить следующие циклы, либо выдать исключение и перехватить его за пределами ForEach и продолжить.

И я согласен, что ни один не очень хороший вариант: - (

0 голосов
/ 23 июня 2010

Использование действия While или DoWhile вместо ForEach может быть лучшим вариантом для ограничений действия на управление итерацией. Это немного уродливее, но работает так, как вы хотите, чтобы ваша итерация.

Условное выражение может проверять логическое значение, такое как Broken, и переменную счетчика, чтобы сравнить ее с длиной коллекций. Я не уверен, что это лучший вариант для вашего сценария или для коллекции, которую вы зацикливаете, но кажется приемлемым вариантом.

...