zoukankan      html  css  js  c++  java
  • Beginning WF4读书笔计 - 第三章 02FlowSwitch和Parallel

     FlowSwitch

        其实“FlowSwitch”活动与“FlowDecision”活动类似,只不过“FlowSwitch”可以有不受限制的分支个数,而“FlowDecision”只有“True/False”两个分支。功能与C#中的“switch”关键字有类似的功能。

        在设计器中“FlowSwitch”活动形状如下:

     

    添加“FlowSwitch”活动

        首先在工作流设计器的最底部拖入一个“FlowSwitch”活动。由于在工具箱中,“FlowSwitch”活动是基于泛形的,所以在拖入时会弹出一个类型选择对话框。在本例中我们是对整型进行操作,所以只需要选择“Int32”即可。接下来分别从“Morning”、“Afternoon”和“Evening”活动建立与“FlowSwitch”的连接。在“FlowSwitch”活动中有一个“Expression”的属性,这个属性用于匹配各个分支的值。在本例中,我们将在的季节提示不同的“祝福”,所以在“Expression”设置如下值:

    CInt(((DateTime.Now.Month Mod 12) + 1) / 4)

         通过对表达式的分析,我们会发现12月、1月和2月将返回1;3月、4月、5月返回2,依此类推。接下来我们就将分别实现这四个季度的“祝福”活动了。

    添加“FlowStep”活动

        “FlowSwitch”的分支叫做“FlowStep”,但是在工具箱中并没有这个元素,你也无需为每个分支建立这个活动,这些会在你从“FlowSwitch”绘出连接时自动创建。接下来我们在靠近“FlowSwitch”的周四周,分别创建五个“WriteLine”活动,并分别设置它们的“DisplayName”为“Winter”、“Spring”、“Summer”、“Autumn”和“Default”。完成之后,从“FlowSwitch”中分别建立与它们的连接。

        接下来,我们选中连接“Winter”的线,并在其属性中设置“Case”值为“1”。类似操作,分别为“Spring”、“Summer”和“Autumn”设置为“2”、“3”和“4”,而“Default”我们则需要对其属性中的“IsDefaultCase”复选框选上,完成之后效果类似:

     

        当然要完全达与上面一样的效果,我们还得把“Winter”等活动的“Text”设置为类似“Happy Winter”。当然“Default”活动的“Text”除外,要设置为如下,以便输出更精确的信息。

    "Season calculated as: " + CInt(((DateTime.Now.Month Mod 12) + 1) / 4).ToString()

     

    运行程序(F5

     

      

    Parallel

        接下来我们将展示“Parallel”活动,“Parallel”活动是一个可以使许多活动并行执行的容器(宿主)。在本例中,每个分支都将显示一段信息,如果我们对显示的顺序并不在意的话,就可以让他们在“Parallel”活动中进行并行显示。

    添加“Parallel”活动

        从工具箱中拖一个“Parallel”活动到工作流视图的底部,并从各“WriteLine”活动建立与它的连接。如下图:

     

    添加分支

        双击“Parallel”活动,将进入其内部设计页面。进行后,我们拖入三个“WriteLine”活动,分别用于显示日期、时间和星期。并且分别在它们的“Text”中设置表达式如下:

             “Time:” + DateTime.Now.TimeOfDay.ToString()
    
             “Date:” + DateTime.Now.Date.ToShortDateString()
    
             “Today is :” + DateTime.Now.ToString(“dddd”)

     

        此时“Parallel”的设计视图如下:

     

     补充:

        在“Parallel”的作何分支中,只请允许有一个活动。如果想支持多个活动,那么可以先在分支中放一个“Sequence”活动,再把其它活动置于其内。

        好了,到目前为止,总流程视图将类似如下:

     

    运行程序(F5

     

    源代码:Chapter03

    与本系列相关的所有文档及代码索引请参考:

    《Beginning WF : Windows Workflow in .NET 4.0》读书笔记

  • 相关阅读:
    HDU 1114 Piggy-Bank
    HDU 2955 Robberies
    NTOJ 290 动物统计(加强版)
    POJ 3624 Charm Bracelet
    HDU 2602 Bone Collector
    POJ 1523 SPF(无向图割顶)
    HDU 5311 Hidden String
    HDU 1421 搬寝室
    HDU 1058 Humble Numbers
    POJ 3259 Wormholes(spfa判负环)
  • 原文地址:https://www.cnblogs.com/showjan/p/3012334.html
Copyright © 2011-2022 走看看