Aktivität Assign

Aus succestWiki
Wechseln zu: Navigation, Suche

Die Aktivität Assign ist aus dem Standard der Windows Workflow Foundation von Microsoft. Sie wird verwendet um einer Variablen innerhalb eines Workflows einen neuen Wert zuzuweisen. Sie entspricht in ihrem Verhalten dem in Programmiersprachen üblichen Zuweisungsoperator (=). Die Entwickler Dokumentation von Microsoft befindet sich hier.

Funktionsweise

Die Assign Aktivität kann mittels Drag&Drop von der Toolbox auf einen Workflow gezogen und mit anderen Aktivitäten zu einer Schrittfolge verbunden werden. Ist die Assign Aktivität Teil eines Workflows, wie auf der Abbildung unten gezeigt, können die beiden Felder ausgefüllt werden.

In das linke Feld "To" wird genau eine Variable eingetragen, der ein neuer Wert zugewiesen werden soll. Wie sie Variablen deklarieren, finden Sie im Abschnitt Variablenbereich. Möchten Sie mehreren Variablen den gleichen Wert zuweisen, müssen Sie sich entsprechend viele Assign Aktivitäten in den Workflow hinein ziehen. Eine Zuweisung mehrerer Variablen in einem Schritt ist nicht möglich.

In das rechte Feld "Value" wird der Ausdruck eingetragen, der zur Laufzeit ausgewertet und dessen Ergebnis der Variablen zu gewiesen wird. Dabei muss das Ergebnis des Ausdrucks vom Typ zur Variablen passen. Wurde die Variable beispielsweise als String Variable im Variablenbereich festgelegt, erzeugt der Ausdruck 1 + 2 einen Fehler, da das Ergebnis 3 (und damit ein Int64) wäre. Der Ausdruck "1" + "2" hingegen wäre syntaktisch zwar richtig, das Ergebnis "12" wäre aber eventuell nicht beabsichtigt. Vermutlich wäre der Ausdruck (1 + 2).ToString(), der "3" (beachten Sie die Anführungszeichen, die "3" als String Wert erkennbar machen) zum Ergebnis hat, das was der Autor tatsächlich beabsichtigt.

Ausdrücke, die für Zuweisungen mit Assign gültig sind
new MyClass() Eine Instanz vom Typ MyClass erzeugen und der Variablen zuweisen. Die Variable muss vom Typ MyClass, oder vom Typ einer ihrer Basisklassen sein.
Nothing Eine Referenz Variable wird so als "nicht zugewiesen" deklariert - entspricht der Zuweisung von null in C# und Java.
a + 1 Das Ergebnis ist um 1 höher als der Wert der Variablen a. Die Variable a muss dabei ein Int64 sein. Das Ergebnis des Ausdrucks ist ebenfalls ein Int64.
a == 1 Das Ergebnis ist true oder false, abhängig von der Richtigkeit der Behauptung, dass die Variable a den Wert 1 enthält. Das Ergebnis des Ausdrucks ist also ein Boolean.
Math.Sqrt(64.0) Das Ergebnis des Ausdrucks ist das Funktionsergebnis der Funktion Sqrt und entspricht auch dem Typ des Rückgabewertes der Funktion.