Zum Ende der Metadaten springen
Zum Anfang der Metadaten

Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 2 Nächste Version anzeigen »

Fügen Sie Ihrem Projekt eine neue Klasse hinzu und benennen passend und eiten Sie von einer Aktivitätsklasse ab (CodeActivity, NativeActivity, AsyncActivity).

Von welcher Klasse muss ich ableiten?


Aktivitäts-Klasse
public Activity HelloWorldActivity: CodeActivity 
{
}

Welche Methoden muss ich implementieren?

  • Execute
    Wird ausgeführt, sobald die Aktivität aus einer Workflow-Instanz ausgeführt wird.
  • (optional) CacheMetadata
    Wird vor jeder Ausführung und bei jeder Änderung im Workflow-Designer ausgeführt.
    Hier können Sie Fehler und Warnungen für den Designer ausgeben.
    Solange Fehler vorhanden ist, kann der Workflow nicht gestartet werden
Methoden
public Activity HelloWorldActivity: CodeActivity 
{
    protected override void CacheMetadata(CodeActivityMetadata a_oMetadata)
    {
       //Zusätzliche Validierungen
       base.CacheMetadata(a_oMetadata);
    }

    protected override void Execute(CodeActivityContext a_oContext)
    {
       //Eigentliche Implementierung der Logik und Funktion der Aktivität
    }
}

Wie definiere ich Argumente und Eigenschaften?

Für jede Eigenschaft Ihrer Aktivität (siehe Eigenschaftsfenster) müssen Sie in Ihrer Aktivitäts-Klasse ein Property mit einem getter und einem setter hinzufügen.

Wann verwende ich "InArgument" bzw. "OutArgument" und wann nicht?

Argumente (In, Out und InOut) erlauben dem Anwender im Workflow Designer VisualBasic-Ausdrücke des angegeben Typen einzutragen.

  • InArgument: Ein eingehendes Argument.
  • OutAgumentEin ausgehendes Argument (hier kann nur eine Variable eingetragen werden).
  • InOutArgument: Ein Argument, das sowohl eingehen, als auch ausgehend verwendet wird.

Ist kein VisualBasic-Ausdruck nötig (z.B. bei einfachen Option wie in der Dateien ermitteln-Aktivität), reicht es ein normales Property des gewünschten Typen hinzuzufügen (Zeile 5 im Beispiel rechts)




Argumente / Eigenschaften
public Activity HelloWorldActivity: CodeActivity 
{
    public InArgument<string> StringArgument { get; set; }

    public bool BoolProperty { get; set; }

    public OutArgument<string> Result { get; set; }
}
  • Keine Stichwörter