新增中繼資料至自訂工作流程活動
發行︰ 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 屬性 Input。InputAttribute 類別從 ParameterAttribute 類別衍生,採取參數 (ParameterAttribute.Name) 來指定輸入屬性。 此名稱會顯示在 Web 應用程式內的處理表單小幫手中。 這可讓您將一種屬性對應為程序輸入參數。
此外,您可以將輸入參數設為必需。其他資訊:RequiredArgumentAttribute
新增輸出參數
輸出參數與輸入參數新增的方式相同。 下列範例示範輸出參數定義。
[Output("Money output only")]
[Default("23.3")]
public OutArgument<Money> MoneyOutput { get; set; }
此輸出參數標註有 .NET 屬性 Output。OutputAttribute 類別從 ParameterAttribute 類別衍生,採取參數 (ParameterAttribute.Name) 來指定輸出屬性。 此名稱會顯示在 Web 應用程式內的處理表單小幫手中。 這可讓您對應屬性為輸出。
為相同的參數新增輸入和輸出屬性
您可以為相同的參數使用輸入和輸出屬性。 在下列程式碼範例中,IntParameter 是輸入也是輸出參數。
[Input("Int input")]
[Output("Int output")]
[Default("2322")]
public InOutArgument<int> IntParameter { get; set; }
其他屬性
有些類型,例如 EntityReference 和 OptionSetValue,除了 Input、Output、以及 Default 之外,也需要其他屬性。 其他屬性如下:ReferenceTarget 和 AttributeTarget。 下列範例示範 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. 著作權所有,並保留一切權利。 著作權