2014-02-17 77 views
0

這可能是一個非常簡單的問題,但我無法弄清楚如何去做。我正在設計一個使用MEF加載工作流活動的應用程序。這些活動可以由用戶選擇。所選活動應在一次工作流程中執行。每個活動都有相同的輸入參數(要處理的項目列表)。自定義活動之間傳遞參數

我認爲最好在代碼中創建一個序列活動並在其中添加所選活動。這個「主要序列」可以用WorkflowInvoker啓動。這工作正常,但我不能找出一種方法將參數傳遞到選定的活動。我可以將它傳遞給「主序列」,但我無法將其從序列傳遞到活動。有沒有人有一個想法如何做到這一點?

我必須添加註釋,因爲動態加載的活動是使用visual studio designer(而不是代碼/本機活動)創建的。

回答

0

在根序列在代碼中創建變量,並把它們作爲InArguments在加載活動

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

問題是我不具備的實際類型的活動,只知道它是一個活動。我可以創建一個基本的Activity,問題是我不能使用這個基本的Activity,當我想要設計Visual Studio中的可視化設計器時。 –

+0

>這些活動可以由用戶選擇。 您想允許用戶在重新主辦的設計師中編輯工作流程,或者您有用戶選擇的活動類型?如果您知道類型,則可以創建此類型的實例並分配其屬性 –