從 CodeActivity 繼承而來的活動可以透過覆寫 Execute 方法來實現基本的命令式行為。
使用 CodeActivityContext
可從方法Execute內,使用context這個CodeActivityContext類型的參數成員來存取工作流程執行階段的功能。 透過 CodeActivityContext 提供的功能包括下列各項:
取得和設定變數和自變數的值。
使用 Track 的自訂追蹤功能。
使用 GetProperty存取活動的執行屬性。
建立一個繼承自 CodeActivity 的自訂活動
開啟 Visual Studio 2010。
選取 [檔案]、[ 新增],然後選取 [ 專案]。 在 [項目類型] 視窗中,選取 [Visual C#] 底下的 [工作流程 4.0],然後選取 v2010 節點。 在 [範本] 視窗中選取 [活動庫]。 將新專案命名為 HelloActivity。
以滑鼠右鍵按兩下 HelloActivity 專案中的 Activity1.xaml,然後選取 [ 刪除]。
以滑鼠右鍵按兩下 HelloActivity 專案,然後選取 [ 新增 ],然後選取 [ 類別]。 將新類別命名為HelloActivity.cs。
在 HelloActivity.cs 檔案中,新增下列
using指示詞。using System.Activities; using System.Activities.Statements;將基類新增至類別宣告,讓新類別繼承自 CodeActivity 。
class HelloActivity : CodeActivity透過新增 Execute 方法,為類別增加功能。
protected override void Execute(CodeActivityContext context) { Console.WriteLine("Hello World!"); }使用 CodeActivityContext 來建立追蹤記錄。
protected override void Execute(CodeActivityContext context) { Console.WriteLine("Hello World!"); CustomTrackingRecord record = new CustomTrackingRecord("MyRecord"); record.Data.Add(new KeyValuePair<String, Object>("ExecutionTime", DateTime.Now)); context.Track(record); }