程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> WF4.0 基礎篇(二十五) ActivityAction與InvokeAction

WF4.0 基礎篇(二十五) ActivityAction與InvokeAction

編輯:關於.NET

ActivityAction

類名

System.Activities.ActivityAction

System.Activities.ActivityAction<T>

System.Activities.ActivityAction<T1, T2>

System.Activities.ActivityAction<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>

文件

System.Activities.dll

結構說明

System.Activities.ActivityDelegate

是一個 sealed類

[DisplayName] 屬性 的類型為[string],是並行分支集合

[Handler] 屬性 的類型為[System.Activities.Activity],為要執行的Activity

[Argument,Argument1,Argument2,Argument16] 屬性 的類型為[System.Activities.DelegateInArgument<T>],用於 傳遞參數用

功能說明

ActivityAction,ActivityAction<T,,,> 與流程中應的InvokeAction,InvokeAction<T,,,>活動一起使用

InvokeAction

類名

System.Activities.Statements.InvokeAction

System.Activities.Statements.InvokeAction<T>

System.Activities.Statements.InvokeAction<T1, T2>

System.Activities.Statements.InvokeAction<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>

文件

System.Activities.dll

結構說明

繼承 NativeActivity

是一個 sealed類

override 了 [CacheMetadata方法] 與 [Execute方法] 與[Cancel 方法]

[Action]屬性 的類型為[System.Activities.ActivityAction,ActivityAction<T,,,> ],為要調用的 ActivityAction

[Argument,Argument1,Argument2,Argument16] 屬性 的類型為[System.Activities.InArgument<T> ],用於傳遞參數 用

功能說明

ActivityAction,ActivityAction<T,,,> 與流程中應的InvokeAction,InvokeAction<T,,,>活動一起使用

使用說明

ActivityAction,ActivityAction<T,,,>默認沒有添加到工具欄,要手動添加

例子 要實現如下功能:

在流程中定義一個string變量[myVariable]

在流程中定義一個ActivityAction屬性參數[myAction]

在流程中添加一個[ActivityAction<T>],這個活動會將[myVariable]傳入[myAction],並調用[myAction]

[myAction]的具體內容由創建流程時指定

流程

為其綁定要[InvokeAction]綁定要執行的[myAction],此步要在XAML文件中進行

<InvokeAction x:TypeArguments="x:String" Argument="[myVariable]"  sap:VirtualizedContainerService.HintSize="200,22">

<PropertyReference x:TypeArguments="ActivityAction(x:String)" PropertyName="myAction" />

</InvokeAction>

宿主

testWorkflow testWorkflow = new testWorkflow();

ActivityAction<string> activityAction = new ActivityAction<string>();

activityAction.Argument = new DelegateInArgument<string>();
activityAction.Handler = new WriteLine() { Text = activityAction.Argument };

testWorkflow.myAction = activityAction;

WorkflowInvoker.Invoke(testWorkflow);

本文示例代碼:http://www.bianceng.net/dotnet/201208/241.htm

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved