Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
L'ActivityDesigner InvokeMethod viene utilizzato per creare e configurare un'attività InvokeMethod.
Attività InvokeMethod
L'attività InvokeMethod chiama un metodo pubblico di un oggetto o tipo specificato.
Utilizzo dell'ActivityDesigner InvokeMethod
L'ActivityDesigner InvokeMethod è disponibile nella categoria Primitive della Casella degli strumenti, accessibile facendo clic sulla scheda Casella degli strumenti di Progettazione flussi di lavoro. In alternativa, scegliere Barra degli strumenti dal menu Visualizza o premere CTRL+ALT+X.
È possibile trascinare l'ActivityDesigner InvokeMethod dalla Casella degli strumenti e rilasciarlo nell'area di Progettazione flussi di lavoro, nel punto in cui vengono in genere posizionate le attività, ad esempio all'interno di un elemento Sequence. In questo modo viene creata un'attività InvokeMethod con il valore DisplayName predefinito InvokeMethod. È possibile modificare il valore di DisplayName nell'intestazione dell'ActivityDesigner InvokeMethod o nella casella DisplayName della griglia delle proprietà.
Proprietà di InvokeMethod
Nella tabella seguente sono elencate le proprietà di InvokeMethod e ne viene descritta la modalità di utilizzo nella finestra di progettazione. Tali proprietà possono essere modificate nella griglia delle proprietà e, in alcuni casi, nell'area della finestra di progettazione di Progettazione flussi di lavoro.
| Nome proprietà | Obbligatoria | Utilizzo |
|---|---|---|
DisplayName |
False |
Nome descrittivo dell'attività InvokeMethod. Il valore predefinito è InvokeMethod. Sebbene non sia obbligatorio specificare il valore di DisplayName, è consigliabile farlo. |
True |
Nome del metodo da richiamare quando viene eseguita l'attività. Il metodo chiamato deve essere dichiarato come public. È possibile modificare questa proprietà nell'area della finestra di progettazione. Si tratta di una proprietà obbligatoria. |
|
False |
Raccolta di parametri del metodo chiamato. I parametri devono essere aggiunti alla raccolta nello stesso ordine in cui vengono visualizzati nella firma del metodo. Nella griglia delle proprietà fare clic sul pulsante con i puntini di sospensione nel campo Parametri per visualizzare la finestra di dialogo Parametri che consente di impostare tale proprietà. Fare clic sul pulsante Crea argomento per aggiungere i parametri. |
|
False |
Valore restituito dalla chiamata del metodo. |
|
True |
Specifica se il metodo viene chiamato in modo asincrono. Il valore predefinito è False. |
|
False |
Oggetto contenente il metodo da chiamare. È possibile modificare questa proprietà nell'area della finestra di progettazione. È necessario impostare TargetObject o TargetType. |
|
TargetType |
False |
Tipo dell'oggetto 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 C# out, ad esempio Method1(out myParam)),, è consigliabile utilizzare OutArgument anziché InOutArgument
Non è possibile richiamare metodi con gli argomenti chiamati TargetObject o Result utilizzando 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:
Registrare l'argomento TargetObject.
Registrare l'argomento Result.
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 perché non sono argomenti del flusso di lavoro e pertanto non sono registrati nella raccolta GenericTypeArguments dell'attività InvokeMethod nel metodo CacheMetadata.
Vedere anche
Concetti
ActivityDesigner Assign
ActivityDesigner Delay
ActivityDesigner WriteLine