2011-11-09 39 views
2

中的活动条件我在我的代码中构建工作流,但我不知道如何添加简单(While)条件。试图找出如何,但没有运气,在互联网上搜索,但也没有运气。WF4虽然代码

这是什么,我试图做一个简化版本:

ActivityBuilder ab = new ActivityBuilder(); 
ab.Implementation = new Sequence() 
{ 
    Variables = 
    { 
    new Variable<int>("StepNo", 0) 
    }, 

    Activities = 
    { 
    new While() 
    { 
     Condition = <the_condition> 

     Body = 
     { 
     //Some logic here and the StepNo is increased 
     } 
    } 
    } 
} 

while条件应该是像“StepNo < 10”。任何想法如何做到这一点?

+0

拿起[临WF:Windows工作流在.NET 4.0(HTTP://www.amazon .COM /临-WF-Windows的工作流专家/ DP/1430227214)。 – TrueWill

回答

4
var stepNo = new Variable<int>("stepNo", 0); 

var activity = new Sequence 
{ 
    Variables = 
    { 
     stepNo 
    }, 

    Activities = 
    { 
     new While 
     { 
      Condition = new LessThan<int,int,bool> 
      { 
       Left = stepNo, 
       Right = 10 
      }, 

      Body = new Sequence 
      { 
       Activities = 
       { 
        new Assign<int> 
        { 
         To = stepNo, 
         Value = new Add<int, int, int> 
         { 
          Left = stepNo, 
          Right = 1 
         } 
        }, 

        new WriteLine 
        { 
         Text = new VisualBasicValue<string>("\"Step: \" & stepNo") 
        } 
       } 
      } 
     } 
    } 
}; 

还是一个版本,而不expression activities但只有VisualBasicValue,这也是一个活动:

var stepNo = new Variable<int>("stepNo", 0); 

var activity = new Sequence 
{ 
    Variables = 
    { 
     stepNo 
    }, 

    Activities = 
    { 
     new While 
     { 
      Condition = new VisualBasicValue<bool>("stepNo < 10"), 

      Body = new Sequence 
      { 
       Activities = 
       { 
        new Assign<int> 
        { 
         To = stepNo, 
         Value = new VisualBasicValue<int>("stepNo + 1") 
        }, 

        new WriteLine 
        { 
         Text = new VisualBasicValue<string>("\"Step: \" & stepNo") 
        } 
       } 
      } 
     } 
    } 
}; 
+0

嗨@Jota,[这个问题]的OP(http://stackoverflow.com/questions/16926041/while-activity-code-condition-in-wf4)有一个非常类似的问题,你会看看这个如果你有一点时间?谢谢。 – halfer