DataflowBlock.Choose Metoda

Definice

Přetížení

Name Description
Choose<T1,T2,T3>(ISourceBlock<T1>, Action<T1>, ISourceBlock<T2>, Action<T2>, ISourceBlock<T3>, Action<T3>)

Monitoruje tři zdroje toku dat a vyvolá zadanou obslužnou rutinu pro jakýkoli zdroj, který zpřístupňuje data jako první.

Choose<T1,T2,T3>(ISourceBlock<T1>, Action<T1>, ISourceBlock<T2>, Action<T2>, ISourceBlock<T3>, Action<T3>, DataflowBlockOptions)

Monitoruje tři zdroje toku dat a vyvolá zadanou obslužnou rutinu pro jakýkoli zdroj, který zpřístupňuje data jako první.

Choose<T1,T2>(ISourceBlock<T1>, Action<T1>, ISourceBlock<T2>, Action<T2>)

Monitoruje dva zdroje toku dat a vyvolá zadanou obslužnou rutinu pro jakýkoli zdroj, který zpřístupňuje data jako první.

Choose<T1,T2>(ISourceBlock<T1>, Action<T1>, ISourceBlock<T2>, Action<T2>, DataflowBlockOptions)

Monitoruje dva zdroje toku dat a vyvolá zadanou obslužnou rutinu pro jakýkoli zdroj, který zpřístupňuje data jako první.

Choose<T1,T2,T3>(ISourceBlock<T1>, Action<T1>, ISourceBlock<T2>, Action<T2>, ISourceBlock<T3>, Action<T3>)

Zdroj:
DataflowBlock.cs
Zdroj:
DataflowBlock.cs
Zdroj:
DataflowBlock.cs
Zdroj:
DataflowBlock.cs
Zdroj:
DataflowBlock.cs
Zdroj:
DataflowBlock.cs
Zdroj:
DataflowBlock.cs

Monitoruje tři zdroje toku dat a vyvolá zadanou obslužnou rutinu pro jakýkoli zdroj, který zpřístupňuje data jako první.

public:
generic <typename T1, typename T2, typename T3>
 static System::Threading::Tasks::Task<int> ^ Choose(System::Threading::Tasks::Dataflow::ISourceBlock<T1> ^ source1, Action<T1> ^ action1, System::Threading::Tasks::Dataflow::ISourceBlock<T2> ^ source2, Action<T2> ^ action2, System::Threading::Tasks::Dataflow::ISourceBlock<T3> ^ source3, Action<T3> ^ action3);
public static System.Threading.Tasks.Task<int> Choose<T1,T2,T3>(System.Threading.Tasks.Dataflow.ISourceBlock<T1> source1, Action<T1> action1, System.Threading.Tasks.Dataflow.ISourceBlock<T2> source2, Action<T2> action2, System.Threading.Tasks.Dataflow.ISourceBlock<T3> source3, Action<T3> action3);
static member Choose : System.Threading.Tasks.Dataflow.ISourceBlock<'T1> * Action<'T1> * System.Threading.Tasks.Dataflow.ISourceBlock<'T2> * Action<'T2> * System.Threading.Tasks.Dataflow.ISourceBlock<'T3> * Action<'T3> -> System.Threading.Tasks.Task<int>
Public Function Choose(Of T1, T2, T3) (source1 As ISourceBlock(Of T1), action1 As Action(Of T1), source2 As ISourceBlock(Of T2), action2 As Action(Of T2), source3 As ISourceBlock(Of T3), action3 As Action(Of T3)) As Task(Of Integer)

Parametry typu

T1

Určuje typ dat obsažených v prvním zdroji.

T2

Určuje typ dat obsažených ve druhém zdroji.

T3

Určuje typ dat obsažených ve třetím zdroji.

Parametry

source1
ISourceBlock<T1>

První zdroj.

action1
Action<T1>

Obslužná rutina, která se má spouštět na datech z prvního zdroje.

source2
ISourceBlock<T2>

Druhý zdroj.

action2
Action<T2>

Obslužná rutina, která se má spouštět na datech z druhého zdroje.

source3
ISourceBlock<T3>

Třetí zdroj.

action3
Action<T3>

Obslužná rutina, která se má spouštět na datech z třetího zdroje.

Návraty

A Task<TResult> , který představuje asynchronní volbu. Pokud jsou před dokončením výběru dokončeny všechny zdroje, bude výsledný úkol zrušen. Pokud některý ze zdrojů obsahuje data k dispozici a úspěšně ho rozšíří na volbu, výsledná úloha se dokončí po dokončení obslužné rutiny; Pokud obslužná rutina vyvolá výjimku, úloha skončí ve Faulted stavu a bude obsahovat neošetřenou výjimku. V opačném případě bude úkol končit jeho Result nastavenou na 0 index zdroje.

Tato metoda bude využívat pouze prvek z jednoho ze zdrojů dat, nikdy více než jeden.

Výjimky

To source1 je null.

nebo

To action1 je null.

nebo

To source2 je null.

nebo

To action2 je null.

nebo

To source3 je null.

nebo

To action3 je null.

Platí pro

Choose<T1,T2,T3>(ISourceBlock<T1>, Action<T1>, ISourceBlock<T2>, Action<T2>, ISourceBlock<T3>, Action<T3>, DataflowBlockOptions)

Zdroj:
DataflowBlock.cs
Zdroj:
DataflowBlock.cs
Zdroj:
DataflowBlock.cs
Zdroj:
DataflowBlock.cs
Zdroj:
DataflowBlock.cs
Zdroj:
DataflowBlock.cs
Zdroj:
DataflowBlock.cs

Monitoruje tři zdroje toku dat a vyvolá zadanou obslužnou rutinu pro jakýkoli zdroj, který zpřístupňuje data jako první.

public:
generic <typename T1, typename T2, typename T3>
 static System::Threading::Tasks::Task<int> ^ Choose(System::Threading::Tasks::Dataflow::ISourceBlock<T1> ^ source1, Action<T1> ^ action1, System::Threading::Tasks::Dataflow::ISourceBlock<T2> ^ source2, Action<T2> ^ action2, System::Threading::Tasks::Dataflow::ISourceBlock<T3> ^ source3, Action<T3> ^ action3, System::Threading::Tasks::Dataflow::DataflowBlockOptions ^ dataflowBlockOptions);
public static System.Threading.Tasks.Task<int> Choose<T1,T2,T3>(System.Threading.Tasks.Dataflow.ISourceBlock<T1> source1, Action<T1> action1, System.Threading.Tasks.Dataflow.ISourceBlock<T2> source2, Action<T2> action2, System.Threading.Tasks.Dataflow.ISourceBlock<T3> source3, Action<T3> action3, System.Threading.Tasks.Dataflow.DataflowBlockOptions dataflowBlockOptions);
static member Choose : System.Threading.Tasks.Dataflow.ISourceBlock<'T1> * Action<'T1> * System.Threading.Tasks.Dataflow.ISourceBlock<'T2> * Action<'T2> * System.Threading.Tasks.Dataflow.ISourceBlock<'T3> * Action<'T3> * System.Threading.Tasks.Dataflow.DataflowBlockOptions -> System.Threading.Tasks.Task<int>
Public Function Choose(Of T1, T2, T3) (source1 As ISourceBlock(Of T1), action1 As Action(Of T1), source2 As ISourceBlock(Of T2), action2 As Action(Of T2), source3 As ISourceBlock(Of T3), action3 As Action(Of T3), dataflowBlockOptions As DataflowBlockOptions) As Task(Of Integer)

Parametry typu

T1

Určuje typ dat obsažených v prvním zdroji.

T2

Určuje typ dat obsažených ve druhém zdroji.

T3

Určuje typ dat obsažených ve třetím zdroji.

Parametry

source1
ISourceBlock<T1>

První zdroj.

action1
Action<T1>

Obslužná rutina, která se má spouštět na datech z prvního zdroje.

source2
ISourceBlock<T2>

Druhý zdroj.

action2
Action<T2>

Obslužná rutina, která se má spouštět na datech z druhého zdroje.

source3
ISourceBlock<T3>

Třetí zdroj.

action3
Action<T3>

Obslužná rutina, která se má spouštět na datech z třetího zdroje.

dataflowBlockOptions
DataflowBlockOptions

Možnosti, se kterými chcete tuto volbu nakonfigurovat.

Návraty

A Task<TResult> , který představuje asynchronní volbu. Pokud jsou před dokončením volby dokončeny všechny zdroje nebo pokud CancellationToken jsou před dokončením výběru zrušeny zadané zdroje dataflowBlockOptions , bude výsledný úkol zrušen. Pokud některý ze zdrojů obsahuje data k dispozici a úspěšně ho rozšíří na volbu, výsledná úloha se dokončí po dokončení obslužné rutiny; Pokud obslužná rutina vyvolá výjimku, úloha skončí ve Faulted stavu a bude obsahovat neošetřenou výjimku. V opačném případě bude úkol končit jeho Result nastavenou na 0 index zdroje.

Tato metoda bude využívat pouze prvek z jednoho ze zdrojů dat, nikdy více než jeden. Pokud je zrušení požadováno po přijetí elementu, požadavek zrušení bude ignorován a příslušná obslužná rutina bude moci provést.

Výjimky

To source1 je null.

nebo

To action1 je null.

nebo

To source2 je null.

nebo

To action2 je null.

nebo

To source3 je null.

nebo

To action3 je null.

nebo

To dataflowBlockOptions je null.

Platí pro

Choose<T1,T2>(ISourceBlock<T1>, Action<T1>, ISourceBlock<T2>, Action<T2>)

Zdroj:
DataflowBlock.cs
Zdroj:
DataflowBlock.cs
Zdroj:
DataflowBlock.cs
Zdroj:
DataflowBlock.cs
Zdroj:
DataflowBlock.cs
Zdroj:
DataflowBlock.cs
Zdroj:
DataflowBlock.cs

Monitoruje dva zdroje toku dat a vyvolá zadanou obslužnou rutinu pro jakýkoli zdroj, který zpřístupňuje data jako první.

public:
generic <typename T1, typename T2>
 static System::Threading::Tasks::Task<int> ^ Choose(System::Threading::Tasks::Dataflow::ISourceBlock<T1> ^ source1, Action<T1> ^ action1, System::Threading::Tasks::Dataflow::ISourceBlock<T2> ^ source2, Action<T2> ^ action2);
public static System.Threading.Tasks.Task<int> Choose<T1,T2>(System.Threading.Tasks.Dataflow.ISourceBlock<T1> source1, Action<T1> action1, System.Threading.Tasks.Dataflow.ISourceBlock<T2> source2, Action<T2> action2);
static member Choose : System.Threading.Tasks.Dataflow.ISourceBlock<'T1> * Action<'T1> * System.Threading.Tasks.Dataflow.ISourceBlock<'T2> * Action<'T2> -> System.Threading.Tasks.Task<int>
Public Function Choose(Of T1, T2) (source1 As ISourceBlock(Of T1), action1 As Action(Of T1), source2 As ISourceBlock(Of T2), action2 As Action(Of T2)) As Task(Of Integer)

Parametry typu

T1

Určuje typ dat obsažených v prvním zdroji.

T2

Určuje typ dat obsažených ve druhém zdroji.

Parametry

source1
ISourceBlock<T1>

První zdroj.

action1
Action<T1>

Obslužná rutina, která se má spouštět na datech z prvního zdroje.

source2
ISourceBlock<T2>

Druhý zdroj.

action2
Action<T2>

Obslužná rutina, která se má spouštět na datech z druhého zdroje.

Návraty

A Task<TResult> , který představuje asynchronní volbu. Pokud jsou oba zdroje dokončeny před dokončením volby, bude výsledný úkol zrušen. Pokud některý ze zdrojů obsahuje data k dispozici a úspěšně ho rozšíří na volbu, výsledná úloha se dokončí po dokončení obslužné rutiny; Pokud obslužná rutina vyvolá výjimku, úloha skončí ve Faulted stavu a bude obsahovat neošetřenou výjimku. V opačném případě bude úkol končit nastavenou Result na hodnotu 0 nebo 1, aby představoval první nebo druhý zdroj.

Tato metoda bude využívat pouze prvek z jednoho ze dvou zdrojů dat, nikdy obojí.

Výjimky

To source1 je null.

nebo

To action1 je null.

nebo

To source2 je null.

nebo

To action2 je null.

Platí pro

Choose<T1,T2>(ISourceBlock<T1>, Action<T1>, ISourceBlock<T2>, Action<T2>, DataflowBlockOptions)

Zdroj:
DataflowBlock.cs
Zdroj:
DataflowBlock.cs
Zdroj:
DataflowBlock.cs
Zdroj:
DataflowBlock.cs
Zdroj:
DataflowBlock.cs
Zdroj:
DataflowBlock.cs
Zdroj:
DataflowBlock.cs

Monitoruje dva zdroje toku dat a vyvolá zadanou obslužnou rutinu pro jakýkoli zdroj, který zpřístupňuje data jako první.

public:
generic <typename T1, typename T2>
 static System::Threading::Tasks::Task<int> ^ Choose(System::Threading::Tasks::Dataflow::ISourceBlock<T1> ^ source1, Action<T1> ^ action1, System::Threading::Tasks::Dataflow::ISourceBlock<T2> ^ source2, Action<T2> ^ action2, System::Threading::Tasks::Dataflow::DataflowBlockOptions ^ dataflowBlockOptions);
public static System.Threading.Tasks.Task<int> Choose<T1,T2>(System.Threading.Tasks.Dataflow.ISourceBlock<T1> source1, Action<T1> action1, System.Threading.Tasks.Dataflow.ISourceBlock<T2> source2, Action<T2> action2, System.Threading.Tasks.Dataflow.DataflowBlockOptions dataflowBlockOptions);
static member Choose : System.Threading.Tasks.Dataflow.ISourceBlock<'T1> * Action<'T1> * System.Threading.Tasks.Dataflow.ISourceBlock<'T2> * Action<'T2> * System.Threading.Tasks.Dataflow.DataflowBlockOptions -> System.Threading.Tasks.Task<int>
Public Function Choose(Of T1, T2) (source1 As ISourceBlock(Of T1), action1 As Action(Of T1), source2 As ISourceBlock(Of T2), action2 As Action(Of T2), dataflowBlockOptions As DataflowBlockOptions) As Task(Of Integer)

Parametry typu

T1

Určuje typ dat obsažených v prvním zdroji.

T2

Určuje typ dat obsažených ve druhém zdroji.

Parametry

source1
ISourceBlock<T1>

První zdroj.

action1
Action<T1>

Obslužná rutina, která se má spouštět na datech z prvního zdroje.

source2
ISourceBlock<T2>

Druhý zdroj.

action2
Action<T2>

Obslužná rutina, která se má spouštět na datech z druhého zdroje.

dataflowBlockOptions
DataflowBlockOptions

Možnosti, se kterými chcete tuto volbu nakonfigurovat.

Návraty

A Task<TResult> , který představuje asynchronní volbu. Pokud jsou oba zdroje dokončeny před dokončením volby nebo pokud CancellationToken je zadaný jako součást dataflowBlockOptions zrušen před dokončením výběru, bude výsledný úkol zrušen. Pokud některý ze zdrojů obsahuje data k dispozici a úspěšně ho rozšíří na volbu, výsledná úloha se dokončí po dokončení obslužné rutiny; Pokud obslužná rutina vyvolá výjimku, úloha skončí ve Faulted stavu a bude obsahovat neošetřenou výjimku. V opačném případě bude úkol končit nastavenou Result na hodnotu 0 nebo 1, aby představoval první nebo druhý zdroj.

Výjimky

To source1 je null.

nebo

To action1 je null.

nebo

To source2 je null.

nebo

To action2 je null.

nebo

To dataflowBlockOptions je null.

Platí pro