代码之家  ›  专栏  ›  技术社区  ›  dso

如何避免Windows工作流(WF)中的Name itis?

  •  1
  • dso  · 技术社区  · 16 年前

    我刚开始和WF合作,我觉得真正烦人的是你必须说出

    以WF IfElse活动为例。如果我用原始C#(不使用WF)编写这个代码,它看起来像这样:

    if( x == 0 )
    {
        // ...
    }
    else if( x < 10 )
    {
        // ...
    }
    else if( x < 100 )
    {
        // ...
    }
    else
    {
        // ...
    }
    

    现在上面的C#代码简单明了。相比之下,如果我要定义一个使用IfElse活动执行相同操作的Windows工作流,首先 我必须说出每个if块的名字

    • ifXLessThan10

    除此之外,我必须 为每个条件命名 在每个if语句中:

    • xLessHan10

    问题(据我所知)是,WF将每个编程构造分解为工作流的属性,这需要一个名称。

    现在,因为我还在学习WF,我不想听起来像个无所不知的人。..我想问你们。我做错什么了吗?在创建WF工作流时,有没有办法避免这个名字?这是Windows WF特有的吗,还是其他工作流引擎也有同样的问题?

    1 回复  |  直到 16 年前
        1
  •  1
  •   Kwal    16 年前

    问题(据我所知)是 WF会分解每个程序 构造成属性 工作流,需要一个名称。

    实际上,您需要使用不同名称的原因是,工作流中表示的if-else语句的每个部分实际上都是一个单独的IfElseBranchActivity,而不仅仅是工作流的一个属性,因此必须具有唯一的名称。

    就维护而言,看看使用规则集来帮助实际的布尔测试本身。这可能会使以后更容易修改。

    推荐文章