共用方式為


屬性與引數

有許多選項可用來將資料傳入活動。 除了使用 InArgument 以外,您也可以使用標準 CLR 屬性或公用 ActivityAction 屬性來開發接收資料的活動。 本主題將討論如何選取適當的方法類型。

使用 CLR 屬性

將資料傳入活動時,CLR 屬性 (亦即,使用 Get 和 Set 常式來公開資料的公用方法) 是具有最多限制的選項。 編譯方案時,必須已知傳入 CLR 屬性的參數值。此值對於工作流程的每個執行個體都相同。 如此一來,傳遞到 CLR 屬性的值就會類似程式碼中定義的常數;在活動存留期內,這個值不能更改,也不能因為該活動的不同執行個體而更改。 MethodName 是 CLR 屬性範例,該屬性由活動公開;該活動所呼叫的方法名稱不能隨著執行階段條件而變更,且在該活動的每個執行個體中皆相同。

使用引數

如果在活動存留期內只評估資料一次,則應使用引數;也就是說,在活動存留期內,其值不會更改,但這個值在活動的不同執行個體中是可以改變的。 Condition 是只評估一次的值的範例;因此,該值會定義為引數。 Text 是另一個應定義為引數之方法的範例,因為在活動執行期間只會評估這個方法一次,但在活動的不同執行個體中可以不同。

使用 ActivityAction

當資料必須在活動執行的存留期內評估多次時,您就應該使用 ActivityAction。 例如,系統會針對 Condition 迴圈的每個反覆項目評估 While 屬性。 如果 InArgument 已用於此目的,迴圈永遠都不會結束,因為系統不會針對每個反覆項目重新評估引數,而且一定會傳回相同的結果。