以编程方式遍历WF

时间:2013-02-21 08:41:58

标签: workflow workflow-foundation-4

我正在使用重新托管的工作流程,业务分析师正在创建WF。业务提出的一个有趣的要求是,他们希望以WF的所有可能路径的某种矩阵格式(例如Excel)输出。
这在技术上是否可行,因为我在.Net框架中没有找到具有此类功能的任何内容。
基本上,有没有办法遍历/循环WF中的活动?

1 个答案:

答案 0 :(得分:2)

检查此答案:Get Child Activity Subtree

粘贴完整性代码:

public static IEnumerable<Activity> GetInnerActivities(this Activity activity)
{
    var children = WorkflowInspectionServices.GetActivities(activity);

    foreach (var child in children)
    {
        children = children.Concat(child.GetInnerActivities());
    }

    return children;
}

此扩展方法以递归方式遍历活动树。只需根据您的需求调整代码。