次の方法で共有


CodeActivity クラスを使用したワークフロー アクティビティの作成

CodeActivityから継承して作成されたアクティビティは、Execute メソッドをオーバーライドすることで、基本的な命令型動作を実装できます。

CodeActivityContext の使用

ワークフロー ランタイムの機能には、Execute 型の context パラメーターのメンバーを使用して、CodeActivityContext メソッド内からアクセスできます。 CodeActivityContextで使用できる機能は次のとおりです。

  • 変数と引数の値の取得と設定。

  • Trackを使用したカスタム追跡機能。

  • GetPropertyを使用してアクティビティの実行プロパティにアクセスします。

CodeActivity から継承するカスタム アクティビティを作成するには

  1. Visual Studio 2010 を開きます。

  2. [ ファイル]、[ 新規作成]、[ プロジェクト] の順に選択します。 [プロジェクトの種類] ウィンドウの [Visual C#] で [ワークフロー 4.0] を選択し、v2010 ノードを選択します。 [テンプレート] ウィンドウで [アクティビティ ライブラリ] を選択します。 新しいプロジェクトに HelloActivity という名前を付けます。

  3. HelloActivity プロジェクトで Activity1.xaml を右クリックし、[削除] を選択 します

  4. HelloActivity プロジェクトを右クリックし、[ 追加 ]、[ クラス] の順に選択します。 新しいクラスにHelloActivity.cs名前を付けます。

  5. HelloActivity.cs ファイルに、次の using ディレクティブを追加します。

    using System.Activities;
    using System.Activities.Statements;
    
  6. 基底クラスをクラス宣言に追加して、新しいクラスを CodeActivity から継承します。

    class HelloActivity : CodeActivity
    
  7. Execute メソッドを追加して、クラスに機能を追加します。

    protected override void Execute(CodeActivityContext context)
    {
        Console.WriteLine("Hello World!");
    }
    
  8. 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);
    }