自定义Activity中的动态参数?

Rob*_*sen 5 workflow workflow-activity workflow-foundation workflow-foundation-4

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

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

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

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

Mau*_*ice 3

我自己没有这样做过,但如果我没有记错的话,我已经看到其他人通过实现 ICustomTypeDescriptor 接口来执行类似的操作。这就是 Interop 活动用来将 WF3 活动的属性显示为 WF4 InArgument/OutArguments。