Sdílet prostřednictvím


ParallelForEach<T> Třída

Definice

Vytvoří výčet prvků kolekce a spustí vložený příkaz pro každý prvek kolekce paralelně.

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

Parametry typu

T

Typ hodnot zadaných v kolekci Values .

Dědičnost
ParallelForEach<T>
Atributy

Příklady

Následující ukázka kódu ukazuje vytvoření ParallelForEach<T> aktivity. Tento příklad je z ukázky firemního nákupního procesu .

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

Poznámky

Vložené příkazy jsou naplánovány společně a spouští se asynchronně, ale pokud samotné naplánované aktivity nejsou asynchronní (například aktivity InvokeMethodzasílání zpráv nebo aktivity odvozené z AsyncCodeActivity), nespustí se v samostatných vláknech, takže každá po sobě jdoucí aktivita se spustí pouze při dokončení nebo nečinnosti dříve naplánované aktivity. Pokud žádná z podřízených aktivit této aktivity není asynchronní nebo nečinná, provede se tato aktivita stejným způsobem jako ForEach<T> aktivita.

Konstruktory

ParallelForEach<T>()

Vytvoří novou instanci třídy ParallelForEach<T>.

Vlastnosti

Body

Provede se ActivityAction jednou pro každou hodnotu obsaženou v kolekci Values .

CacheId

Získá identifikátor mezipaměti, který je jedinečný v rámci oboru definice pracovního postupu.

(Zděděno od Activity)
CanInduceIdle

Získá nebo nastaví hodnotu, která označuje, zda aktivita může způsobit pracovní postup nečinný.

(Zděděno od NativeActivity)
CompletionCondition

Vyhodnotí se po dokončení každé iterace.

Constraints

Získá kolekci Constraint aktivit, které lze nakonfigurovat tak, aby poskytovaly ověřování pro Activity.

(Zděděno od Activity)
DisplayName

Získá nebo nastaví volitelný popisný název, který se používá pro ladění, ověřování, zpracování výjimek a sledování.

(Zděděno od Activity)
Id

Získá identifikátor, který je jedinečný v oboru definice pracovního postupu.

(Zděděno od Activity)
Implementation

Logika provádění aktivity.

(Zděděno od NativeActivity)
ImplementationVersion

Získá nebo nastaví verzi implementace aktivity.

(Zděděno od NativeActivity)
Values

Kolekce hodnot použitých jako parametry pro každou iteraci aktivity obsažené v .Body

Metody

Abort(NativeActivityAbortContext)

Při implementaci v odvozené třídě provádí akce v reakci na aktivitu, která je přerušena.

(Zděděno od NativeActivity)
CacheMetadata(ActivityMetadata)

Není implementováno. Místo toho použijte metodu CacheMetadata(NativeActivityMetadata) .

(Zděděno od NativeActivity)
CacheMetadata(NativeActivityMetadata)

Vytvoří a ověří popis argumentů aktivity, proměnných, podřízených aktivit a delegátů aktivit.

(Zděděno od NativeActivity)
Cancel(NativeActivityContext)

Při implementaci v odvozené třídě spustí logiku, která způsobí řádné brzké dokončení aktivity.

(Zděděno od NativeActivity)
Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
Execute(NativeActivityContext)

Při implementaci v odvozené třídě spustí logiku provádění aktivity.

(Zděděno od NativeActivity)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
OnCreateDynamicUpdateMap(NativeActivityUpdateMapMetadata, Activity)

Vyvolá událost při vytváření mapy pro dynamickou aktualizaci.

(Zděděno od NativeActivity)
OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity)

Vyvolá událost při vytváření mapy pro dynamickou aktualizaci.

(Zděděno od NativeActivity)
ShouldSerializeDisplayName()

Určuje, zda DisplayName má být vlastnost serializována.

(Zděděno od Activity)
ToString()

Vrátí hodnotu , String která obsahuje Id a DisplayName objektu Activity.

(Zděděno od Activity)
UpdateInstance(NativeActivityUpdateContext)

Aktualizace instance NativeActivity.

(Zděděno od NativeActivity)

Platí pro