InvokeMethod, projektant działań

Projektant InvokeMethod służy do tworzenia i konfigurowania InvokeMethod działania.

Działanie InvokeMethod

Metoda InvokeMethod wywołuje publiczną metodę określonego obiektu lub typu.

Używanie Projektant działania InvokeMethod

Uzyskaj dostęp do projektanta działań InvokeMethod w kategorii Typy pierwotne przybornika. Projektant działań InvokeMethod może zostać przeciągnięty z przybornika i porzucony do obszaru Przepływ pracy Projektant, gdzie zawsze są umieszczane działania, takie jak wewnątrz Sequenceelementu . Usunięcie projektanta działań powoduje utworzenie InvokeMethod działania z wartością domyślną DisplayName InvokeMethod. Element DisplayName można edytować w nagłówku projektanta działań InvokeMethod lub w polu DisplayName siatki właściwości.

Właściwości InvokeMethod

W poniższej InvokeMethod tabeli przedstawiono właściwości i opisano sposób ich użycia w projektancie. Te właściwości można edytować w siatce właściwości, a niektóre można edytować na powierzchni Przepływ pracy Projektant.

Nazwa właściwości Wymagania Sposób użycia
DisplayName Fałsz Przyjazna nazwa InvokeMethod działania. Wartość domyślna to InvokeMethod.

DisplayName Chociaż nie jest to ściśle wymagane, najlepiej użyć go.
MethodName Prawda Nazwa metody, która ma być wywoływana podczas wykonywania działania. Wywołana metoda musi być zadeklarowana jako publiczna. Tę właściwość można edytować na powierzchni projektanta i jest obowiązkowa.
Parameters Fałsz Kolekcja parametrów wywoływanej metody. Parametry należy dodać do kolekcji w tej samej kolejności, w której są wyświetlane w podpisie metody. Aby wyświetlić okno dialogowe Parametry , w którym można ustawić tę właściwość, kliknij przycisk wielokropka w polu Parametry siatki właściwości. Kliknij przycisk Utwórz argument, aby dodać parametry.
Result Fałsz Wartość zwracana wywołania metody.
RunAsynchronously Prawda Określa, czy metoda jest wywoływana asynchronicznie. Wartość domyślna to False.
TargetObject Fałsz Obiekt, który zawiera metodę do wywołania. Tę właściwość można edytować na powierzchni projektanta.

Należy ustawić wartość TargetObject lub TargetType .
TargetType Fałsz Typ .TargetObject Tę właściwość można edytować na powierzchni projektanta. Tę właściwość należy ustawić tylko wtedy, gdy wywoływana metoda jest statyczna.

Aby przekazać parametry jako parametr wyjściowy języka C# (na przykład Method1(out myParam)), użyj parametru OutArgument zamiast InOutArgument

Metody z argumentami o nazwie TargetObject lub Result nie mogą być wywoływane przy użyciu InvokeMethod działania. Przyczyną tego jest to, że InvokeMethod działanie rejestruje GenericTypeArgumentselement , TargetObject i Result w .CacheMetadata

Algorytm rejestrowania parametrów na CacheMetadata liście jest wyświetlany na następującej liście:

  1. Zarejestruj TargetObject argument.

  2. Zarejestruj Result argument.

  3. Iterowanie po kolekcji i rejestrowanie każdego argumentu Parameters .

Wynikowy wyjątek jest typu InvalidWorkflowException z następującym komunikatem: "InvokeMethod": zmienna, RuntimeArgument lub DelegateArgument już istnieje o nazwie "TargetObject". Nazwy muszą być unikatowe w zakresie środowiska.

To ograniczenie nie ma zastosowania do TargetType i RunAsynchronously. Nie są argumentami przepływu pracy i dlatego nie są zarejestrowane w GenericTypeArguments kolekcji InvokeMethod działania w metodzie CacheMetadata .

Zobacz też