枚举Workflow Foundation状态机的可能状态转换

时间:2010-03-09 17:07:26

标签: workflow-foundation enumeration transition

对于GUI目的,我需要通过状态机的当前状态来枚举可能的可用转换状态。例如,存在转变:A-> B,A-> C,B-> D,C-> D.假设状态机处于A状态,那么我需要得到B和C的列表。

2 个答案:

答案 0 :(得分:2)

我找到了自己的答案,现在它看起来像是一个愚蠢的问题。 因此,在我的Workflow实例周围创建轻量级对象StateMachineWorkflowInstance就足够了,这里是代码:

StateMachineWorkflowInstance smw =
            new StateMachineWorkflowInstance(MyWorkflowRuntime, A);
return smw.PossibleStateTransitions.ToArray();

答案 1 :(得分:0)

在.NET 4.0中,WorkflowApplication.Idle事件包含WorkflowApplicationIdleEventArgs,其中包含Bookmarks属性。