我是Workflow基础的新手,想了解ActivityActionActivityFunc的目的以及它与进行子活动的区别。

据我了解,子活动可能存在于某些复合NativeActivity中,并且必须由其计划。因此,NativeActivity在执行过程中可以将子活动用作事件处理程序。因此,例如,此NativeActivity可能会运行一些长时间运行的计算并在完成时安排其子代。

ActivityActionActivityFunc(func返回结果,但没有动作)出于相同的目的而存在-允许在NativeActivity中定义的执行过程中插入自定义处理程序。区别在于它们是强类型的,看起来更像是其父声明的合同。

因此,我得出的结论是,主要区别在于强类型输入,ActivityFunc / Action可以与子活动互换。我的理解是错误的还是我错过了什么?

最佳答案

ActivityAction和ActivityFunc的主要目的是可以在活动与子活动之间共享数据。大多数情况下,您不需要,您可以安排子活动,并且可以使用InArguments来获取数据。但是,在某些情况下,例如ParallelForEach,在其中每个父级并行调度时,父级不能只是填充变量。在这种情况下,您希望在安排子活动时传递数据。这就是ActivityAction进入的地方。

在大多数情况下,您不必使用ActivityAction和ActivityFunc。

关于c# - WF 4:ActivityAction或ActivityFunc与子事件之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12435837/

10-13 08:07