次の方法で共有


プロパティと引数

アクティビティにデータを渡すために使用できるオプションがいくつかあります。 InArgumentの使用に加えて、標準の CLR プロパティまたはパブリック ActivityAction プロパティを使用してデータを受信するアクティビティを開発することもできます。 このトピックでは、適切なメソッドの種類を選択する方法について説明します。

CLR プロパティの使用

アクティビティにデータを渡す場合、CLR プロパティ (つまり、Get ルーチンと Set ルーチンを使用してデータを公開するパブリック メソッド) は、最も制限のあるオプションです。 CLR プロパティに渡されるパラメーターの値は、ソリューションのコンパイル時に認識されている必要があります。この値は、ワークフローのすべてのインスタンスで同じになります。 この方法では、CLR プロパティに渡される値は、コードで定義されている定数に似ています。この値はアクティビティの有効期間中は変更できません。また、アクティビティのインスタンスごとに変更することはできません。 MethodName は、アクティビティによって公開される CLR プロパティの例です。アクティビティが呼び出すメソッド名は、実行時の条件に基づいて変更することはできません。アクティビティのすべてのインスタンスで同じになります。

引数の使用

引数は、アクティビティの有効期間中にデータが 1 回だけ評価される場合に使用する必要があります。つまり、アクティビティの有効期間中にその値は変更されませんが、アクティビティのインスタンスごとに値が異なる場合があります。 Condition は、1 回評価される値の例です。したがって、引数として定義されます。 Text は、アクティビティの実行中に 1 回だけ評価されるため、引数として定義する必要があるメソッドのもう 1 つの例ですが、アクティビティのインスタンスごとに異なる場合があります。

ActivityAction の使用

アクティビティの実行中にデータを複数回評価する必要がある場合は、 ActivityAction を使用する必要があります。 たとえば、 Condition プロパティは、 While ループの反復処理ごとに評価されます。 この目的で InArgument が使用された場合、引数は反復処理ごとに再評価されず、常に同じ結果が返されるため、ループは終了しません。