从自定义活动访问参数,工作流变量

时间:2010-05-18 12:54:56

标签: workflow-foundation-4

我有一个由许多自定义活动组成的工作流程。所有这些活动都需要访问工作流本身的启动参数。我可以在所有这些自定义活动中定义InArgument,并将工作流参数绑定到自定义活动参数,但我对此解决方案不满意。从自定义活动访问工作流级别参数和变量声明的最佳方法是什么。我可以从ActivityContext获取它们吗?

感谢。

1 个答案:

答案 0 :(得分:1)

我们使用自定义活动查看此方法的一种方法是使用ActivityContext中提供的Properties属性。我们有一个带有InArgument的活动,它在execute方法中添加了ExecutionProperty,所​​以最终得到:

public InArgument<Custom> MyObject {get;set;}

...

context.Properties.Add("Contact",MyObject.Get(context));

然后在您的其他活动中,您可以检查是否已设置

context.Properties.Find("Contact")

显然,如果你这么做很多,我建议在某个地方使用常量而不是魔术字符串,但它应该可以避免在设计时反复添加相同的参数。