ParallelForEach<T>.Values Property

.NET Framework (current version)
 
System_CAPS_noteNote

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

The collection of values used as parameters for each iteration of the activity contained in the Body.

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

[RequiredArgumentAttribute]
public InArgument<IEnumerable<T>> Values { get; set; }

Property Value

Type: System.Activities.InArgument<IEnumerable<T>>

The collection of values.

The following code sample demonstrates setting the Values 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
Show: