共用方式為


InvokeMethod 活動設計工具

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

InvokeMethod 活動

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

使用 InvokeMethod 活動設計工具

[InvokeMethod] 活動設計工具位於 [工具箱] 的 [基本] 類別中,請按一下 工作流程設計工具 中的 [工具箱] 索引標籤存取此工具 (也可以從 [檢視] 功能表選取 [工具箱],或是按 CTRL+ALT+X)。

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

InvokeMethod 屬性

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

屬性名稱 必要 使用方式

DisplayName

False

InvokeMethod 活動的易記名稱。 預設值為 InvokeMethod。

雖然 DisplayName 並非絕對必要,但建議您盡量使用。

MethodName

True

活動執行時要呼叫之方法的名稱。 所呼叫的方法必須宣告為 public。 此屬性也可以在設計工具介面上編輯。 這是必要的屬性。

Parameters

False

要呼叫之方法的參數集合。 將參數加入集合時,順序必須與參數出現在方法簽章中的順序相同。 在屬性方格中,按一下 [參數] 欄位的橢圓形按鈕,隨即顯示讓您設定此屬性的 [參數] 對話方塊。 按一下 [建立引數] 按鈕來加入參數。

Result

False

方法呼叫的傳回值。

RunAsynchronously

True

指定是否要非同步呼叫方法。 預設值為 False

TargetObject

False

包含要呼叫之方法的物件。 此屬性也可以在設計工具介面上編輯。

必須設定 TargetObjectTargetType

TargetType

False

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

若要傳遞參數為 C# out 參數 (例如,Method1(out myParam)),),您應使用 OutArgument 而非 InOutArgument

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

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

  1. 登錄 TargetObject 引數。

  2. 登錄 Result 引數。

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

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

這個限制不適用於 TargetTypeRunAsynchronously,因為它們並非工作流程引數,因此並未登錄於 CacheMetadata 方法中 InvokeMethod 活動的 GenericTypeArguments 集合。

另請參閱

概念

Assign 活動設計工具
Delay 活動設計工具
WriteLine 活動設計工具

其他資源

基本活動設計工具