新增中繼資料至自訂工作流程活動

 

發行︰ 2017年1月

適用於: Dynamics 365 (online)、Dynamics 365 (on-premises)、Dynamics CRM 2016、Dynamics CRM Online

包含自訂工作流程活動定義的組件標註有 .NET 屬性提供中繼資料,由 Microsoft Dynamics 365 在執行階段用來將您的程式碼連結至工作流程引擎。 如需更多關於 .NET 屬性的詳細資訊,請參閱使用屬性擴充中繼資料

在您開始新增中繼資料至自訂工作流程活動定義之前,請確定已經明白為自訂工作流程活動支援的 Microsoft Dynamics 365 類型和屬性。其他資訊:請參閱處理類別、屬性和類型

本主題內容

新增輸入參數

新增輸出參數

為相同的參數新增輸入和輸出屬性

其他屬性

新增執行方法

新增輸入參數

在工作流程類別中指定輸入參數時,也可以為參數則指定預設值。 下列範例示範輸入參數定義。

[Input("DateTime input")]
[Default("2004-07-09T02:54:00Z")]
public InArgument<DateTime> Date { get; set; }

此輸入參數標註有 .NET 屬性 InputInputAttribute 類別從 ParameterAttribute 類別衍生,採取參數 (ParameterAttribute.Name) 來指定輸入屬性。 此名稱會顯示在 Web 應用程式內的處理表單小幫手中。 這可讓您將一種屬性對應為程序輸入參數。

此外,您可以將輸入參數設為必需。其他資訊:RequiredArgumentAttribute

新增輸出參數

輸出參數與輸入參數新增的方式相同。 下列範例示範輸出參數定義。

[Output("Money output only")]
[Default("23.3")]
public OutArgument<Money> MoneyOutput { get; set; }

此輸出參數標註有 .NET 屬性 OutputOutputAttribute 類別從 ParameterAttribute 類別衍生,採取參數 (ParameterAttribute.Name) 來指定輸出屬性。 此名稱會顯示在 Web 應用程式內的處理表單小幫手中。 這可讓您對應屬性為輸出。

為相同的參數新增輸入和輸出屬性

您可以為相同的參數使用輸入和輸出屬性。 在下列程式碼範例中,IntParameter 是輸入也是輸出參數。

[Input("Int input")]
[Output("Int output")]
[Default("2322")]
public InOutArgument<int> IntParameter { get; set; }

其他屬性

有些類型,例如 EntityReferenceOptionSetValue,除了 InputOutput、以及 Default 之外,也需要其他屬性。 其他屬性如下:ReferenceTargetAttributeTarget。 下列範例示範 EntityReference 類型的參數定義。

[Input("EntityReference input")]
[Output("EntityReference output")]
[ReferenceTarget("account")]
[Default("3B036E3E-94F9-DE11-B508-00155DBA2902", "account")]
public InOutArgument<EntityReference> AccountReference { get; set; }

如需支援類型和屬性清單,請參閱 處理類別、屬性和類型

新增執行方法

如下列範例所示,自訂工作流程活動必須具備 Execute 方法。

protected override void Execute(CodeActivityContext context)
{
   if (AccountReference.Get(context).Id != new Guid("3B036E3E-94F9-DE11-B508-00155DBA2902"))   
      throw new InvalidPluginExecutionException("Unexpected default value");
}

另請參閱

自訂工作流程活動 (工作流程組件)
自訂工作流程活動 (工作流程組件)
建立自訂工作流程活動
在自訂工作流程活動中使用 IOrganization Web 服務
範例:建立自訂工作流程活動
處理類別、屬性和類型

Microsoft Dynamics 365

© 2017 Microsoft. 著作權所有,並保留一切權利。 著作權