Звучит так, будто ваши требования будут лучше обслуживаться рабочим процессом State Machine .
Хорошо, так что вы не хотите использовать рабочий процесс конечного автомата. Итак, вот как вы это делаете.
Вам необходимо создать пользовательское действие, которое будет использоваться вместе с расширением рабочего процесса . Расширение - это просто объект, к которому ваши действия могут получить доступ по мере выполнения рабочего процесса и позволяющие вашим действиям взаимодействовать с классами, выполняющими рабочий процесс.
Ваше пользовательское действие должно иметь возможность создавать закладки и выгружать рабочий процесс. Это происходит, пока вы ожидаете правильное значение от вашего внутреннего номера. Вам не нужно делать это ни в одном цикле «Пока». Вы просто делаете следующее
- Получите ваш добавочный номер
- Получить текущее значение, по которому вы оцениваете
- Если вы не счастливы, создайте закладку
- Когда закладка возобновится, перейдите к шагу 1.
- Если вы счастливы, продолжайте казнь.