2012-03-28 6 views
0

Ich arbeite an einem C# -Projekt mit Windows Workflow Foundation. Ich programmiere einige benutzerdefinierte Aktivitäten und verwende den Designer nicht. Ich habe den folgenden Code, den ich einer lokalen Variable für eine Weile Aktivität zuweisen. Wie kann ich auf den Wert von StepNo innerhalb der While-Aktivität zugreifen? Irgendwelche Hilfe bitte?C# workflow variable

While wfWhile = new While(); 

//temporary Assign activity, remove it later 
Variable<int> stepNo = new Variable<int>("stepNo", 0); 

wfWhile.Variables.Add(stepNo); 

Antwort

0

verschiedene Wege, dies zu tun, aber ein VisualBasicValue<T> ist so, wie es die meiste Zeit erfolgt. Der folgende Code läuft so lange, bis stepNo 10 wird, gibt den Wert von stepNo aus und inkrementiert ihn.

While wfWhile = new While(); 
Variable<int> stepNo = new Variable<int>("stepNo", 0); 
wfWhile.Variables.Add(stepNo); 

wfWhile.Body = new Sequence() 
{ 
    Activities = { 
     new WriteLine 
     { 
      Text = new VisualBasicValue<string>("\"Step: \" & stepNo ") 
     }, 
     new Assign<int>() 
     { 
       To = new OutArgument<int>(stepNo), 
       Value= new VisualBasicValue<int>("stepNo + 1") 
     } 

     } 
}; 
wfWhile.Condition = new VisualBasicValue<bool>("stepNo < 10"); 
WorkflowInvoker.Invoke(wfWhile);