DataflowBlock.Choose Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
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
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
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
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
.