Поделиться через


ParallelForEach<T> Конструктор

Определение

Создает новый экземпляр класса ParallelForEach<T>.

public:
 ParallelForEach();
public ParallelForEach ();
Public Sub New ()

Примеры

В следующем образце кода показано создание действия 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)
                    }
                },
            }
        }
    }
},

Применяется к