Настраиваемая последовательность действий для каждой последовательности

Мы используем WF в нашей системе, чтобы предоставить пользователям возможность создавать свои собственные потоки с некоторыми специализированными "строительными блоками" (так называемыми действиями), которые мы им предоставляем.

Задача состоит в том, чтобы создать пользовательское действие, которое ведет себя следующим образом:

  • его непосредственный контент похож на обычную последовательность, то есть может содержать коллекцию дочерних действий.
  • у него есть входной аргумент типа string-list. Для простоты скажем, что это просто одна длинная строка слов, разделенных пробелами.
  • реальное поведение - выполнить дочерние слова для каждого слова в списке. Текущее слово должно быть доступно дочернему аргументу, используя неявно объявленную переменную с именем "CurrentItem".

Я надеюсь, что это понятно в любом случае. Если нет, пожалуйста, спросите, и я постараюсь объяснить лучше.

Итак, есть ли у кого-нибудь идеи, как я могу это сделать? Я пробовал несколько подходов, но безуспешно, каждый раз, когда это терпит неудачу на каком-то другом ограничении, которым обладает этот FW.

Большое спасибо за любую помощь!

1 ответ

Если я вас правильно понимаю, я бы построил составное действие с точкой входа, которая анализирует строку и записывает количество аргументов.
Затем он передает выполнение в операцию переключения, которая использует аргумент из строки, чтобы направить выполнение дочернему действию, которое по завершении затем возвращается к действию синтаксического анализатора для получения второго аргумента.
Затем вернитесь к переключателю, дочернему действию, возвратному процессу.

Когда у действия парсера заканчиваются аргументы, вы выходите из составного действия.

Другие вопросы по тегам