分支和合并通常作为一个整体的代码片段来创建,如下图,创建了两个分支的流程图,每个分支上又有两个任务节点,完整的代码片段示例如下:

               pmb.Split("split")

                  .Parallels(

                        () => pmb.Branch(

                            () => pmb.Task("task-010"),

                            () => pmb.Task("task-011")

                        )

                        , () => pmb.Branch(

                             () => pmb.Task("task-020"),

                             () => pmb.Task("task-021")

                         )

                  )

                  .Join("join")

图形截图如下:

https://img2018.cnblogs.com/blog/808949/201911/808949-20191126182510992-736665299.png

1) Split(): 创建分支节点

参数: (activityName, activityCode)

2) Parallels(): 创建多个分支的外部方法

参数: 

(params Func<ProcessModelBuilder>[] branches)

描述: 参数branches 表示分支列表的组合, 一个并行模式可以由多个分支组成,params表示是可变参数列表关键字。

3) Branch(): 分支具体创建方法

参数: 

(params Func<ProcessModelBuilder>[] nodes)

描述: 参数nodes表示节点列表的组合,一个分支可以由多个节点组成,params表示是可变参数列表关键字。

4) Join(): 创建合并节点

参数: (activityName, activityCode)

说明: 合并和分支通常是对应成对出现的,用于表达决策类型的分支选择模式。