DataflowBlock.Choose Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
Choose<T1,T2,T3>(ISourceBlock<T1>, Action<T1>, ISourceBlock<T2>, Action<T2>, ISourceBlock<T3>, Action<T3>) |
Controlla tre origini del flusso di dati, richiamando il gestore fornito per qualsiasi origine che per prima rende disponibili i dati. |
Choose<T1,T2,T3>(ISourceBlock<T1>, Action<T1>, ISourceBlock<T2>, Action<T2>, ISourceBlock<T3>, Action<T3>, DataflowBlockOptions) |
Controlla tre origini del flusso di dati, richiamando il gestore fornito per qualsiasi origine che per prima rende disponibili i dati. |
Choose<T1,T2>(ISourceBlock<T1>, Action<T1>, ISourceBlock<T2>, Action<T2>) |
Controlla due origini del flusso di dati, richiamando il gestore fornito per qualsiasi origine che per prima rende disponibili i dati. |
Choose<T1,T2>(ISourceBlock<T1>, Action<T1>, ISourceBlock<T2>, Action<T2>, DataflowBlockOptions) |
Controlla due origini del flusso di dati, richiamando il gestore fornito per qualsiasi origine che per prima rende disponibili i dati. |
Choose<T1,T2,T3>(ISourceBlock<T1>, Action<T1>, ISourceBlock<T2>, Action<T2>, ISourceBlock<T3>, Action<T3>)
Controlla tre origini del flusso di dati, richiamando il gestore fornito per qualsiasi origine che per prima rende disponibili i dati.
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)
Parametri di tipo
- T1
Specifica il tipo di dati contenuti nella prima origine.
- T2
Specifica il tipo di dati contenuti nella seconda origine.
- T3
Specifica il tipo di dati contenuti nella terza origine.
Parametri
- source1
- ISourceBlock<T1>
Prima origine.
- action1
- Action<T1>
Il gestore da eseguire sui dati dalla prima origine.
- source2
- ISourceBlock<T2>
Seconda origine.
- action2
- Action<T2>
Il gestore da eseguire sui dati dalla seconda origine.
- source3
- ISourceBlock<T3>
Terza origine.
- action3
- Action<T3>
Il gestore da eseguire sui dati dalla terza origine.
Restituisce
Elemento Task<TResult> che rappresenta la scelta asincrona. Se tutte le origini vengono completate prima del completamento della scelta, l'attività risultante verrà annullata. Quando una delle origini dispone di dati disponibili e li propaga correttamente, l'attività risultante verrà completata al momento del completamento del gestore, se questo genera un'eccezione, l'attività termina nello stato di Faulted e conterrà un'eccezione non gestita. In caso contrario, l'attività termina con la proprietà Result impostata sull'indice in base 0 dell'origine.
Questo metodo utilizzerà sempre solo un elemento da una delle origini dati.
Eccezioni
L'elemento source1
è null
.
-oppure-
L'elemento action1
è null
.
-oppure-
L'elemento source2
è null
.
-oppure-
L'elemento action2
è null
.
-oppure-
L'elemento source3
è null
.
-oppure-
L'elemento action3
è null
.
Si applica a
Choose<T1,T2,T3>(ISourceBlock<T1>, Action<T1>, ISourceBlock<T2>, Action<T2>, ISourceBlock<T3>, Action<T3>, DataflowBlockOptions)
Controlla tre origini del flusso di dati, richiamando il gestore fornito per qualsiasi origine che per prima rende disponibili i dati.
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)
Parametri di tipo
- T1
Specifica il tipo di dati contenuti nella prima origine.
- T2
Specifica il tipo di dati contenuti nella seconda origine.
- T3
Specifica il tipo di dati contenuti nella terza origine.
Parametri
- source1
- ISourceBlock<T1>
Prima origine.
- action1
- Action<T1>
Il gestore da eseguire sui dati dalla prima origine.
- source2
- ISourceBlock<T2>
Seconda origine.
- action2
- Action<T2>
Il gestore da eseguire sui dati dalla seconda origine.
- source3
- ISourceBlock<T3>
Terza origine.
- action3
- Action<T3>
Il gestore da eseguire sui dati dalla terza origine.
- dataflowBlockOptions
- DataflowBlockOptions
Opzioni con cui configurare questa scelta.
Restituisce
Elemento Task<TResult> che rappresenta la scelta asincrona. Se tutte le origini vengono completate prima del completamento della scelta, o se CancellationToken fornito come parte di dataflowBlockOptions
viene annullato prima del completamento della scelta, l'attività risultante verrà annullata. Quando una delle origini dispone di dati disponibili e li propaga correttamente, l'attività risultante verrà completata al momento del completamento del gestore, se questo genera un'eccezione, l'attività termina nello stato di Faulted e conterrà un'eccezione non gestita. In caso contrario, l'attività termina con la proprietà Result impostata sull'indice in base 0 dell'origine.
Questo metodo utilizzerà sempre solo un elemento da una delle origini dati. Se viene richiesto l'annullamento dopo che un elemento è stato ricevuto, la richiesta di annullamento viene ignorata e il gestore può procedere con l'esecuzione.
Eccezioni
L'elemento source1
è null
.
-oppure-
L'elemento action1
è null
.
-oppure-
L'elemento source2
è null
.
-oppure-
L'elemento action2
è null
.
-oppure-
L'elemento source3
è null
.
-oppure-
L'elemento action3
è null
.
-oppure-
L'elemento dataflowBlockOptions
è null
.
Si applica a
Choose<T1,T2>(ISourceBlock<T1>, Action<T1>, ISourceBlock<T2>, Action<T2>)
Controlla due origini del flusso di dati, richiamando il gestore fornito per qualsiasi origine che per prima rende disponibili i dati.
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)
Parametri di tipo
- T1
Specifica il tipo di dati contenuti nella prima origine.
- T2
Specifica il tipo di dati contenuti nella seconda origine.
Parametri
- source1
- ISourceBlock<T1>
Prima origine.
- action1
- Action<T1>
Il gestore da eseguire sui dati dalla prima origine.
- source2
- ISourceBlock<T2>
Seconda origine.
- action2
- Action<T2>
Il gestore da eseguire sui dati dalla seconda origine.
Restituisce
Elemento Task<TResult> che rappresenta la scelta asincrona. Se entrambe le origini vengono completate prima del completamento della scelta, l'attività risultante verrà annullata. Quando una delle origini dispone di dati disponibili e li propaga correttamente, l'attività risultante verrà completata al momento del completamento del gestore, se questo genera un'eccezione, l'attività termina nello stato di Faulted e conterrà un'eccezione non gestita. In caso contrario, l'attività termina con la proprietà Result impostata su 0 o 1 per rappresentare la prima o la seconda origine, rispettivamente.
Questo metodo utilizzerà sempre solo un elemento da una delle due origini dati.
Eccezioni
L'elemento source1
è null
.
-oppure-
L'elemento action1
è null
.
-oppure-
L'elemento source2
è null
.
-oppure-
L'elemento action2
è null
.
Si applica a
Choose<T1,T2>(ISourceBlock<T1>, Action<T1>, ISourceBlock<T2>, Action<T2>, DataflowBlockOptions)
Controlla due origini del flusso di dati, richiamando il gestore fornito per qualsiasi origine che per prima rende disponibili i dati.
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)
Parametri di tipo
- T1
Specifica il tipo di dati contenuti nella prima origine.
- T2
Specifica il tipo di dati contenuti nella seconda origine.
Parametri
- source1
- ISourceBlock<T1>
Prima origine.
- action1
- Action<T1>
Il gestore da eseguire sui dati dalla prima origine.
- source2
- ISourceBlock<T2>
Seconda origine.
- action2
- Action<T2>
Il gestore da eseguire sui dati dalla seconda origine.
- dataflowBlockOptions
- DataflowBlockOptions
Opzioni con cui configurare questa scelta.
Restituisce
Elemento Task<TResult> che rappresenta la scelta asincrona. Se entrambe le origini vengono completate prima del completamento della scelta, o se CancellationToken fornito come parte di dataflowBlockOptions
viene annullato prima del completamento della scelta, l'attività risultante verrà annullata. Quando una delle origini dispone di dati disponibili e li propaga correttamente, l'attività risultante verrà completata al momento del completamento del gestore, se questo genera un'eccezione, l'attività termina nello stato di Faulted e conterrà un'eccezione non gestita. In caso contrario, l'attività termina con la proprietà Result impostata su 0 o 1 per rappresentare la prima o la seconda origine, rispettivamente.
Eccezioni
L'elemento source1
è null
.
-oppure-
L'elemento action1
è null
.
-oppure-
L'elemento source2
è null
.
-oppure-
L'elemento action2
è null
.
-oppure-
L'elemento dataflowBlockOptions
è null
.