Návrhář aktivity InvokeMethod
Návrhář InvokeMethod slouží k vytvoření a konfiguraci InvokeMethod aktivity.
Aktivita InvokeMethod
Volání InvokeMethod veřejné metody zadaného objektu nebo typu.
Použití Návrháře aktivity InvokeMethod
Přístup k Návrháři aktivit InvokeMethod v kategorii Primitives sady nástrojů. Návrhář aktivity InvokeMethod lze přetáhnout z panelu nástrojů a přetáhnout na plochu Návrhář pracovního postupu, kde jsou někdy aktivity obvykle umístěny, například uvnitř Sequence. Vyřazení návrháře aktivit vytvoří InvokeMethod aktivitu s výchozím nastavením DisplayName InvokeMethod. Lze DisplayName upravit v záhlaví Návrhář aktivity InvokeMethod nebo v poli DisplayName mřížky vlastností.
Vlastnosti InvokeMethod
Následující tabulka ukazuje InvokeMethod vlastnosti a popisuje, jak se používají v návrháři. Tyto vlastnosti je možné upravovat v mřížce vlastností a některé je možné upravovat na ploše Návrháře pracovního postupu.
Název vlastnosti | Požaduje se | Využití |
---|---|---|
DisplayName | False | Popisný název InvokeMethod aktivity. Výchozí hodnota je InvokeMethod. DisplayName I když to není nezbytně nutné, je nejlepší použít ho. |
MethodName | True | Název metody, která se má volat při spuštění aktivity. Volaná metoda musí být deklarována jako veřejná. Tuto vlastnost lze upravit na ploše návrháře a je povinná. |
Parameters | False | Kolekce parametrů volané metody. Parametry musí být přidány do kolekce ve stejném pořadí, v jakém se zobrazují v podpisu metody. Chcete-li zobrazit dialogové okno Parametry , kde můžete nastavit tuto vlastnost, klepněte na tlačítko se třemi tečky v poli Parametry mřížky vlastností. Kliknutím na tlačítko Vytvořit argument přidejte parametry. |
Result | False | Návratová hodnota volání metody. |
RunAsynchronously | True | Určuje, zda metoda je volána asynchronně. Výchozí hodnota je False. |
TargetObject | False | Objekt, který obsahuje metodu volání. Tuto vlastnost lze upravit na ploše návrháře. Buď musí TargetObject být nastavená hodnota, nebo je TargetType potřeba ji nastavit. |
TargetType | False | Typ .TargetObject Tuto vlastnost lze upravit na ploše návrháře. Tato vlastnost musí být nastavena pouze v případě, že je volána metoda statická. |
Pokud chcete předat parametry jako parametr out jazyka C# (například Method1(out myParam))
použijte OutArgument místo InOutArgument.
Metody s argumenty s názvem TargetObject nebo Result nelze vyvolat pomocí InvokeMethod aktivity. Důvodem je, že InvokeMethod aktivita registruje GenericTypeArgumentsa TargetObject Result v CacheMetadata.
Algoritmus pro registraci parametrů je CacheMetadata uvedený v následujícím seznamu:
Registrovat TargetObject argument.
Registrovat Result argument.
Iterujte kolekcí Parameters a zaregistrujte jednotlivé argumenty.
Výsledná výjimka je typu InvalidWorkflowException s následující zprávou: InvokeMethod: Proměnná, RuntimeArgument nebo DelegateArgument již existuje s názvem TargetObject. Názvy musí být jedinečné v rámci oboru prostředí.
Toto omezení neplatí pro TargetType a RunAsynchronously. Nejsou argumenty pracovního postupu, a proto nejsou zaregistrované v GenericTypeArguments kolekci InvokeMethod aktivity v CacheMetadata metodě.