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); }
.NET