Sdílet prostřednictvím


DataflowBlock.Choose Metoda

Definice

Přetížení

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

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

Task<Int32>

A Task<TResult> , který představuje asynchronní volbu. Pokud jsou všechny zdroje dokončeny před dokončením výběru, bude výsledný úkol zrušen. Pokud má některý ze zdrojů k dispozici data a úspěšně je rozšíří do volby, výsledný úkol 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 nastavením na 0-based 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)

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 konfigurace této volby.

Návraty

Task<Int32>

A Task<TResult> , který představuje asynchronní volbu. Pokud jsou všechny zdroje dokončeny před dokončením volby nebo pokud CancellationToken jsou před dokončením výběru zrušeny, dataflowBlockOptions výsledný úkol se zruší. Pokud má některý ze zdrojů k dispozici data a úspěšně je rozšíří do volby, výsledný úkol 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 nastavením na 0-based index zdroje.

Tato metoda bude využívat pouze prvek z jednoho ze zdrojů dat, nikdy více než jeden. Pokud se po přijetí elementu požádá o zrušení, žádost o zrušení se ignoruje a příslušná obslužná rutina bude moct spustit.

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

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

Task<Int32>

A Task<TResult> , který představuje asynchronní volbu. Pokud jsou oba zdroje dokončeny před dokončením výběru, bude výsledný úkol zrušen. Pokud má některý ze zdrojů k dispozici data a úspěšně je rozšíří do volby, výsledný úkol 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 mít Result nastavenou 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)

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 konfigurace této volby.

Návraty

Task<Int32>

A Task<TResult> , který představuje asynchronní volbu. Pokud jsou oba zdroje dokončeny před dokončením výběru nebo pokud CancellationToken jsou před dokončením volby zrušeny, dataflowBlockOptions bude výsledný úkol zrušen. Pokud má některý ze zdrojů k dispozici data a úspěšně je rozšíří do volby, výsledný úkol 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 mít Result nastavenou 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