ParallelForEach<T>.Body Property

.NET Framework (current version)

The ActivityAction that is executed once for every value contained in the Values collection.

Namespace:   System.Activities.Statements
Assembly:  System.Activities (in System.Activities.dll)

public ActivityAction<T> Body { get; set; }

Property Value

Type: System.Activities.ActivityAction<T>

The contained activity action.

The following code sample demonstrates setting the Body property of a ParallelForEach<T> activity. This example is from the Corporate Purchase Process sample.

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

.NET Framework
Available since 4.0
Return to top