ParallelForEach<T> クラス

定義

コレクションの要素を列挙し、コレクションの各要素に対して埋め込みステートメントを並列で実行します。

generic <typename T>
public ref class ParallelForEach sealed : System::Activities::NativeActivity
[System.Windows.Markup.ContentProperty("Body")]
public sealed class ParallelForEach<T> : System.Activities.NativeActivity
[<System.Windows.Markup.ContentProperty("Body")>]
type ParallelForEach<'T> = class
    inherit NativeActivity
Public NotInheritable Class ParallelForEach(Of T)
Inherits NativeActivity

型パラメーター

T

Values コレクションに指定された値の型。

継承
ParallelForEach<T>
属性

次のコード サンプルは、 ParallelForEach<T> アクティビティの作成を示しています。 この例は、 企業購入プロセス のサンプルからのものです。

// invite all vendors and wait for their proposals
new ParallelForEach<Vendor>
{
    DisplayName = "Get vendor proposals",
    Values = new InArgument<IEnumerable<Vendor>>(ctx =>this.Rfp.Get(ctx).InvitedVendors),
    Body = new ActivityAction<Vendor>()
    {
        Argument = iterationVariableVendor,
        Handler = new Sequence
        {
            Variables = { tmpValue },
            Activities =
            {
                // waits for a vendor proposal (creates a bookmark for a vendor)
                new WaitForVendorProposal
                {
                    VendorId = new LambdaValue<int>(ctx =>iterationVariableVendor.Get(ctx).Id) ,
                    Result = new OutArgument<double>(tmpValue)
                },

                // after the vendor proposal is received, it is registered in the Request for Proposals
                new InvokeMethod
                {
                    TargetObject = new InArgument<RequestForProposal>(ctx =>this.Rfp.Get(ctx)),
                    MethodName = "RegisterProposal",
                    Parameters =
                    {
                        new InArgument<Vendor>(iterationVariableVendor),
                        new InArgument<double>(tmpValue)
                    }
                },
            }
        }
    }
},

注釈

埋め込みステートメントはまとめてスケジュールされ、非同期的に実行されますが、スケジュールされたアクティビティ自体が非同期 (メッセージング アクティビティ、 InvokeMethodAsyncCodeActivityから派生したアクティビティなど) でない限り、個別のスレッドでは実行されないため、連続する各アクティビティは、以前にスケジュールされたアクティビティが完了またはアイドル状態になったときにのみ実行されます。 このアクティビティの子アクティビティが非同期またはアイドル状態でない場合、このアクティビティは、 ForEach<T> アクティビティと同じ方法で実行されます。

コンストラクター

名前 説明
ParallelForEach<T>()

ParallelForEach<T> クラスの新しいインスタンスを作成します。

プロパティ

名前 説明
Body

Values コレクションに含まれるすべての値に対して 1 回実行されるActivityAction

CacheId

ワークフロー定義のスコープ内で一意であるキャッシュの識別子を取得します。

(継承元 Activity)
CanInduceIdle

アクティビティによってワークフローがアイドル状態になる可能性があるかどうかを示す値を取得または設定します。

(継承元 NativeActivity)
CompletionCondition

各イテレーションが完了した後に評価されます。

Constraints

Constraintの検証を提供するように構成できるActivity アクティビティのコレクションを取得します。

(継承元 Activity)
DisplayName

デバッグ、検証、例外処理、追跡に使用されるオプションのフレンドリ名を取得または設定します。

(継承元 Activity)
Id

ワークフロー定義のスコープ内で一意の識別子を取得します。

(継承元 Activity)
Implementation

アクティビティの実行ロジック。

(継承元 NativeActivity)
ImplementationVersion

アクティビティの実装バージョンを取得または設定します。

(継承元 NativeActivity)
Values

Bodyに含まれるアクティビティの各イテレーションのパラメーターとして使用される値のコレクション。

メソッド

名前 説明
Abort(NativeActivityAbortContext)

派生クラスで実装された場合、中止されるアクティビティに応答してアクションを実行します。

(継承元 NativeActivity)
CacheMetadata(ActivityMetadata)

実装されていません。 代わりに CacheMetadata(NativeActivityMetadata) メソッドを使用してください。

(継承元 NativeActivity)
CacheMetadata(NativeActivityMetadata)

アクティビティの引数、変数、子アクティビティ、およびアクティビティ デリゲートの説明を作成して検証します。

(継承元 NativeActivity)
Cancel(NativeActivityContext)

派生クラスで実装された場合は、アクティビティの正常な早期完了を引き起こすロジックを実行します。

(継承元 NativeActivity)
Equals(Object)

指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
Execute(NativeActivityContext)

派生クラスで実装された場合は、アクティビティの実行ロジックを実行します。

(継承元 NativeActivity)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Objectの簡易コピーを作成します。

(継承元 Object)
OnCreateDynamicUpdateMap(NativeActivityUpdateMapMetadata, Activity)

動的更新のマップを作成するときにイベントを発生させます。

(継承元 NativeActivity)
OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity)

動的更新のマップを作成するときにイベントを発生させます。

(継承元 NativeActivity)
ShouldSerializeDisplayName()

DisplayName プロパティをシリアル化する必要があるかどうかを示します。

(継承元 Activity)
ToString()

StringIdDisplayNameを含むActivityを返します。

(継承元 Activity)
UpdateInstance(NativeActivityUpdateContext)

NativeActivityのインスタンスを更新します。

(継承元 NativeActivity)

適用対象