Condividi tramite


ActivityDesigner InvokeMethod

La finestra di progettazione InvokeMethod viene usata per creare e configurare un'attività InvokeMethod .

Attività InvokeMethod

L'attività InvokeMethod chiama un metodo pubblico di un oggetto o tipo specificato.

Usare l'ActivityDesigner InvokeMethod

Accedere all'ActivityDesigner InvokeMethod nella categoria Primitive della casella degli strumenti. L'ActivityDesigner InvokeMethod può essere trascinato dalla casella degli strumenti e rilasciato nell'area progettazione flussi di lavoro in cui in genere vengono posizionate attività, ad esempio all'interno di un oggetto Sequence. L'eliminazione dell'ActivityDesigner crea un'attività InvokeMethod con un valore predefinito DisplayName InvokeMethod. Può DisplayName essere modificato nell'intestazione dell'ActivityDesigner InvokeMethod o nella casella DisplayName della griglia delle proprietà.

Proprietà InvokeMethod

La tabella seguente illustra le InvokeMethod proprietà e descrive come vengono usate nella finestra di progettazione. Queste proprietà possono essere modificate nella griglia delle proprietà e alcune possono essere modificate nell'area progettazione flussi di lavoro.

Nome proprietà Richiesto Utilizzo
DisplayName Falso Nome descrittivo dell'attività InvokeMethod. Il valore predefinito è InvokeMethod.

DisplayName Anche se non è strettamente richiesto, è consigliabile usarne uno.
MethodName Vero Nome del metodo da richiamare quando viene eseguita l'attività. Il metodo chiamato deve essere dichiarato come pubblico. Questa proprietà può essere modificata nell'area di progettazione ed è obbligatoria.
Parameters Falso Raccolta di parametri del metodo chiamato. I parametri devono essere aggiunti alla raccolta nello stesso ordine in cui vengono visualizzati nella firma del metodo. Per visualizzare la finestra di dialogo Parametri in cui è possibile impostare questa proprietà, fare clic sul pulsante con i puntini di sospensione nel campo Parametri della griglia delle proprietà. Fare clic sul pulsante Crea argomento per aggiungere i parametri.
Result Falso Valore restituito dalla chiamata del metodo.
RunAsynchronously Vero Specifica se il metodo viene chiamato in modo asincrono. Il valore predefinito è Falso.
TargetObject Falso Oggetto contenente il metodo da chiamare. È possibile modificare questa proprietà nell'area della finestra di progettazione.

È necessario impostare TargetObject o TargetType.
TargetType Falso Tipo di TargetObject. È possibile modificare questa proprietà nell'area della finestra di progettazione. È necessario impostare questa proprietà solo se il metodo chiamato è statico.

Per passare parametri come parametro out C# (ad esempio, Method1(out myParam)), usare OutArgument invece di InOutArgument)

I metodi con argomenti denominati TargetObject o Result non possono essere richiamati usando l'attività InvokeMethod . Il motivo di ciò è che l'attività InvokeMethod registra GenericTypeArguments, TargetObject e Result in CacheMetadata.

L'algoritmo per la registrazione dei parametri in CacheMetadata viene mostrato nell'elenco seguente:

  1. Registrare l'argomento TargetObject.

  2. Registrare l'argomento Result.

  3. Scorrere la raccolta Parameters e registrare ogni argomento.

L'eccezione risultante è di tipo InvalidWorkflowException e presenta il messaggio seguente: 'InvokeMethod': Esiste già una variabile, RuntimeArgument o DelegateArgument con il nome 'TargetObject'. I nomi devono essere univoci in un ambito di ambiente.

Questa restrizione non si applica a TargetType e RunAsynchronously. Non sono argomenti del flusso di lavoro e pertanto non sono registrati nella GenericTypeArguments raccolta dell'attività InvokeMethod nel CacheMetadata metodo .

Vedi anche