共用方式為


InvokeMethod 活動設計工具

[InvokeMethod] 設計工具是用來建立及設定 InvokeMethod 活動。

InvokeMethod 活動

InvokeMethod 會呼叫指定物件或型別的公用方法。

使用 InvokeMethod 活動設計工具

在 [工具箱] 的 [Primitives] 類別中,存取 [InvokeMethod] 活動設計工具。 [InvokeMethod] 活動設計工具可從 [工具箱] 拖曳出來,放到工作流程設計工具介面上通常用來放置活動的任一處,例如 Sequence 內部。 卸除活動設計工具會建立一個 InvokeMethod 活動,具有 InvokeMethod 的預設 DisplayName。 在 [InvokeMethod] 活動設計工具的標頭中,或是在屬性方格的 [DisplayName] 方塊中可以編輯 DisplayName

InvokeMethod 屬性

下表顯示 InvokeMethod 屬性,並描述屬性在設計工具中的使用方式。 這些屬性可以在屬性方格中進行編輯,其中有一些可以在工作流程設計工具介面上編輯。

屬性名稱 必要 使用方式
DisplayName False InvokeMethod 活動的易記名稱。 預設值為 InvokeMethod。

雖然 DisplayName 並非絕對必要,但建議您盡量使用。
MethodName True 活動執行時要呼叫之方法的名稱。 所呼叫的方法必須宣告為 [公用]。 此屬性也可以在設計工具介面上編輯,並且屬於必要項目。
Parameters False 要呼叫之方法的參數集合。 將參數加入至集合時,加入順序必須與參數出現在方法簽章中的順序相同。 若要顯示可在其中設定此屬性的 [Parameters] 對話方塊,請按一下屬性方格中 [Parameters] 欄位的省略符號按鈕。 按一下 [建立引數] 按鈕來加入參數。
Result False 方法呼叫的傳回值。
RunAsynchronously True 指定是否要非同步呼叫方法。 預設值為 [False]
TargetObject False 包含要呼叫之方法的物件。 此屬性也可以在設計工具介面上編輯。

必須設定 TargetObjectTargetType
TargetType False TargetObject 的類型。 此屬性也可以在設計工具介面上編輯。 呼叫的方法必須是靜態的,才能設定此屬性。

若要將參數當作 C# out 參數傳遞 (例如,Method1(out myParam))),請使用 OutArgument ,而不是 InOutArgument

無法使用 InvokeMethod 活動來叫用包含稱為 TargetObjectResult 之引數的方法。 這是因為 InvokeMethod 活動會在 GenericTypeArguments 中登錄 TargetObjectResultCacheMetadata

以下清單顯示在 CacheMetadata 中登錄參數的演算法:

  1. 登錄 TargetObject 引數。

  2. 登錄 Result 引數。

  3. 逐一查看 Parameters 集合並登錄每個引數。

結果的例外狀況是包含以下訊息的 InvalidWorkflowException 類型:'InvokeMethod':已有名稱為 'TargetObject' 的變數、RuntimeArgument 或 DelegateArgument。 名稱在環境範圍中必須是唯一的。

此限制不適用於 TargetTypeRunAsynchronously。 它們不是工作流程引數,因此不會在 CacheMetadata 方法中 InvokeMethod 活動的 GenericTypeArguments 集合中註冊。

另請參閱