Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
InvokeMethod-Designer wird verwendet, um eine InvokeMethod-Aktivität zu erstellen und zu konfigurieren.
Die InvokeMethod-Aktivität
Die InvokeMethod-Aktivität ruft eine öffentliche Methode eines angegebenen Objekts oder Typs auf.
Verwenden des InvokeMethod-Aktivitätsdesigners
Der InvokeMethod-Aktivitätsdesigner befindet sich in der Kategorie Primitives der Toolbox, auf die Sie zugreifen können, indem Sie in Workflow-Designer auf die Registerkarte Toolbox klicken (Sie können auch im Menü Ansicht den Befehl Toolbox auswählen oder STRG+ALT+X drücken).
Der InvokeMethod-Aktivitätsdesigner kann aus der Toolbox gezogen und auf der Workflow-Designer-Oberfläche dort abgelegt werden, wo Aktivitäten normalerweise platziert werden, etwa innerhalb einer Sequence. Daraufhin wird eine InvokeMethod-Aktivität mit dem DisplayName-Standardwert InvokeMethod erstellt. Der DisplayName-Wert kann im Header des InvokeMethod-Aktivitätsdesigners oder im Feld DisplayName des Eigenschaftenrasters bearbeitet werden.
Die InvokeMethod-Eigenschaften
In der folgenden Tabelle werden die InvokeMethod-Eigenschaften aufgeführt, und es wird beschrieben, wie sie im Designer verwendet werden. Diese Eigenschaften können im Eigenschaftenraster bearbeitet werden, einige davon können auch in der Workflow-Designer-Designeroberfläche bearbeitet werden.
| Eigenschaftenname | Erforderlich | Verwendung |
|---|---|---|
DisplayName |
False |
Gibt den Anzeigenamen der InvokeMethod-Aktivität an. Der Standardwert lautet InvokeMethod. Obwohl der DisplayName nicht zwingend erforderlich ist, wird empfohlen, einen Anzeigenamen zu verwenden. |
True |
Der Name der Methode, die bei Ausführung der Aktivität aufgerufen werden soll. Die aufgerufene Methode muss als public-Methode deklariert worden sein. Diese Eigenschaft kann in der Designeroberfläche bearbeitet werden. Dies ist eine obligatorische Eigenschaft. |
|
False |
Die Parameterauflistung der aufgerufenen Methode. Die Parameter müssen der Auflistung in derselben Reihenfolge wie in der Methodensignatur hinzugefügt werden. Klicken Sie im Eigenschaftenraster im Parameters-Feld auf die Schaltfläche mit den Auslassungspunkten. Daraufhin wird das Dialogfeld Parameter angezeigt, in dem Sie diese Eigenschaft festlegen können. Klicken Sie auf die Schaltfläche Argument erstellen, um die Parameter hinzuzufügen. |
|
False |
Der Rückgabewert des Methodenaufrufs. |
|
True |
Gibt an, ob die Methode asynchron aufgerufen wird. Der Standardwert ist False. |
|
False |
Das Objekt, das die aufzurufende Methode enthält. Diese Eigenschaft kann in der Designeroberfläche bearbeitet werden. Es muss entweder das TargetObject-Objekt oder der TargetType-Typ festgelegt werden. |
|
TargetType |
False |
Der Typ des TargetObject-Objekts. Diese Eigenschaft kann in der Designeroberfläche bearbeitet werden. Diese Eigenschaft muss nur festgelegt werden, wenn die aufgerufene Methode statisch ist. |
Um Parameter als out-Parameter in C# (z. B. Method1(out myParam)),) zu übergeben, sollten Sie OutArgument statt InOutArgument verwenden.
Methoden mit Argumenten namens TargetObject oder Result können nicht mit der InvokeMethod-Aktivität aufgerufen werden. Der Grund dafür ist, dass die InvokeMethod-Aktivität GenericTypeArguments, TargetObject und Result in CacheMetadata registriert.
Der Algorithmus zum Registrieren der Parameter in CacheMetadata wird in der folgenden Liste dargestellt:
Registrieren Sie das TargetObject-Argument.
Registrieren Sie das Result-Argument.
Durchlaufen Sie die Parameters-Auflistung, und registrieren Sie jedes Argument.
Die resultierende Ausnahme hat den Typ InvalidWorkflowException mit der folgenden Meldung: 'InvokeMethod': Eine Variable, RuntimeArgument oder ein DelegateArgument ist bereits mit dem Namen 'TargetObject' vorhanden. Namen müssen innerhalb einer Umgebung eindeutig sein.
Diese Einschränkung gilt nicht für TargetType und RunAsynchronously, da sie keine Workflowargumente sind und daher nicht in der GenericTypeArguments-Auflistung der InvokeMethod-Aktivität in der CacheMetadata-Methode registriert werden.
Siehe auch
Konzepte
Assign-Aktivitätsdesigner
Delay-Aktivitätsdesigner
WriteLine-Aktivitätsdesigner