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)
                    }
                },
            }
        }
    }
},

注釈

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

コンストラクター

ParallelForEach<T>()

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

プロパティ

Body

ActivityAction コレクションに格納されている値ごとに 1 回実行される、Values

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()

StringId および DisplayName を含む Activity を返します。

(継承元 Activity)
UpdateInstance(NativeActivityUpdateContext)

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

(継承元 NativeActivity)

適用対象