Share via


DataflowBlock.Choose Metodo

Definizione

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

Task<Int32>

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

Task<Int32>

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

Task<Int32>

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

Task<Int32>

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.

Si applica a