2014-02-17 4 views
0

Это, наверное, очень простой вопрос, но я просто не могу понять, как это сделать. Я разрабатываю приложение, которое использует MEF для загрузки действий рабочего процесса. Эти действия могут быть выбраны пользователем. Выбранные действия должны выполняться в одном прогоне рабочего процесса. Каждое действие имеет один и тот же входной аргумент (список элементов для работы).Передача параметров между пользовательскими действиями

Я думал, что было бы лучше создать последовательность действий в коде и добавить туда выбранные действия. Эта «основная последовательность» может быть запущена с WorkflowInvoker. Это прекрасно работает, но я не могу найти способ передать аргумент в выбранные действия. Я могу передать его в «основную последовательность», но я не могу передать его из последовательности в действия. Кто-нибудь есть идея, как это сделать?

Я должен добавить примечание, потому что действия, которые динамически загружаются, создаются с помощью визуального конструктора студии (а не для действий с кодом/родной деятельностью).

ответ

0

Создание в кодовых переменных в корневой последовательности и использовать их в качестве InArguments в нагруженных деятельности

sequence.Activities.Add 
(
    new MyActivity() 
    { 
    InArgument1 = new InArgument< int>(this.Variable1), 
    OutArgument1 = new OutArgument< int>(this.Variable2) 
    } 
) 
+0

проблема, я не имею фактический тип деятельности, просто знаю, что это действие. Я мог бы создать базовую активность, проблема в том, что я не могу использовать эту базовую активность, когда я хочу ее проектировать, с визуальным дизайнером в визуальной студии. –

+0

> Эти действия могут быть выбраны пользователем. Вы хотите разрешить пользователям редактировать рабочий процесс в повторном дизайнере или у вас есть типы действий, выбранные пользователем? Если вы знаете тип, вы можете создать экземпляр этого типа и назначить его свойства –

Смежные вопросы