次の方法で共有


アクティビティの関係の検証

このトピックの内容は、Windows Workflow Foundation 4 に該当します。

このサンプルは、3 つのアクティビティ (CreateCityCreateState、および CreateCountry) で構成されます。CreateCityCreateState アクティビティ内にある必要があり、CreateStateCreateCountry アクティビティ内にある必要があります。このサンプルの目的から、検証ロジックは、CreateState アクティビティについてはコードで記述され、CreateCity アクティビティについては XAML で記述されます。制約の動作は両方とも同じです。

.NET Framework Version 4 には、アクティビティ間の関係を検証するために使用できる次の 3 つのヘルパー アクティビティが用意されています。

  • GetParentChain
    現在のノードの親に属しているすべてのワークフロー要素のコレクションを提供します。
  • GetChildSubtree
    現在のノードのサブツリーに属しているすべてのワークフロー要素のコレクションを提供します (現在のノードを除く)。
  • GetWorkflowTree
    現在のノードと同じツリーにあるすべてのワークフロー要素のコレクションを提供します。

このサンプルでは、ForEach アクティビティを使用して、GetParentChain から返されたコレクション内のすべての要素を処理します。コレクション内の要素ごとに、その型が CreateCountry (CreateCity を検証する場合は CreateState) と比較され、一致が見つかると、結果フラグが true に設定されます。最後に、結果フラグが false に設定される場合は、AssertValidation を使用して検証エラーが生成されます。

このサンプルを使用するには

  1. Visual Studio 2010 で ContainmentValidation.sln サンプル ソリューションを開きます。

  2. ソリューションをビルドします。

  3. Ctrl キーを押しながら F5 キーを押して、プログラムを起動します。

Ee622980.Important(ja-jp,VS.100).gif 注 :
サンプルは、既にコンピューターにインストールされている場合があります。続行する前に、次の (既定の) ディレクトリを確認してください。

<InstallDrive>:\WF_WCF_Samples

このディレクトリが存在しない場合は、「.NET Framework 4 向けの Windows Communication Foundation (WCF) および Windows Workflow Foundation (WF) のサンプル」にアクセスして、Windows Communication Foundation (WCF) および WF のサンプルをすべてダウンロードしてください。このサンプルは、次のディレクトリに格納されます。

<InstallDrive>:\WF_WCF_Samples\WF\Basic\Validation\ActivityRelationships