自定义Activity中的动态参数?

时间:2011-06-30 09:41:33

标签: workflow workflow-foundation workflow-foundation-4 workflow-activity

我们正在自己的应用中重新托管WF-4设计师。 我们有一个叫做过滤器的东西。现在我们想要一个允许您运行此过滤器的活动 并在ForEach中处理结果。很简单。 但是这些过滤器具有需要在工作流主机中填充的参数列表(用于运行过滤器)。过滤器参数列表可以是0到N之间的任何值。

用户设置FilterId之后,有没有办法可以创建该Filter的实例,检查其参数列表并将这些参数添加到Activity?参数基本上只是名称,类型,需要用户填写的值。

另一方面,我们不希望在运行时创建Filter的实例,这太昂贵了。在运行时,我们只需要过滤器ID和参数值列表。

我很高兴为参数设置静态属性,如果有一种方法可以在FilterId更改时更新它并验证此列表中的所有参数都有值。

1 个答案:

答案 0 :(得分:3)

我自己没有这样做,但如果我没有弄错,我已经看到其他人通过实现ICustomTypeDescriptor接口来做这样的事情。这就是Interop活动用于将WF3活动的属性显示为WF4 InArgument / OutArguments的内容。