Compartilhar via


DataflowBlock.Choose Método

Definição

Sobrecargas

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

Monitora as três fontes de fluxo de dados, invocando o manipulador fornecido para a fonte que disponibilizar os dados primeiro.

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

Monitora as três fontes de fluxo de dados, invocando o manipulador fornecido para a fonte que disponibilizar os dados primeiro.

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

Monitora duas fontes de fluxo de dados, invocando o manipulador fornecido para a fonte que disponibilizar os dados primeiro.

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

Monitora duas fontes de fluxo de dados, invocando o manipulador fornecido para a fonte que disponibilizar os dados primeiro.

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

Monitora as três fontes de fluxo de dados, invocando o manipulador fornecido para a fonte que disponibilizar os dados primeiro.

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)

Parâmetros de tipo

T1

Especifica o tipo de dados contidos na primeira fonte.

T2

Especifica o tipo de dados contidos na segunda fonte.

T3

Especifica o tipo de dados contidos na terceira fonte.

Parâmetros

source1
ISourceBlock<T1>

A primeira origem.

action1
Action<T1>

O manipulador a ser executado nos dados da primeira origem.

source2
ISourceBlock<T2>

A segunda origem.

action2
Action<T2>

O manipulador a ser executado nos dados da segunda origem.

source3
ISourceBlock<T3>

A terceira origem.

action3
Action<T3>

O manipulador a ser executado nos dados da terceira origem.

Retornos

Task<Int32>

Um Task<TResult> que representa a escolha assíncrona. Se todas as fontes forem concluídas antes de concluir a opção, a tarefa resultante será cancelada. Quando uma das fontes tem dados disponíveis e os propaga com êxito para a escolha, a tarefa resultante será concluída quando o manipulador for concluído; se o manipulador gerar uma exceção, a tarefa terminará no estado Faulted e conterá a exceção sem tratamento. Caso contrário, a tarefa terminará com a seu Result definido para o índice de base 0 da origem.

Esse método só consumirá um elemento de uma das fontes de dados, nunca mais de uma.

Exceções

O source1 é null.

- ou - O action1 é null.

- ou - O source2 é null.

- ou - O action2 é null.

- ou - O source3 é null.

- ou - O action3 é null.

Aplica-se a

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

Monitora as três fontes de fluxo de dados, invocando o manipulador fornecido para a fonte que disponibilizar os dados primeiro.

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)

Parâmetros de tipo

T1

Especifica o tipo de dados contidos na primeira fonte.

T2

Especifica o tipo de dados contidos na segunda fonte.

T3

Especifica o tipo de dados contidos na terceira fonte.

Parâmetros

source1
ISourceBlock<T1>

A primeira origem.

action1
Action<T1>

O manipulador a ser executado nos dados da primeira origem.

source2
ISourceBlock<T2>

A segunda origem.

action2
Action<T2>

O manipulador a ser executado nos dados da segunda origem.

source3
ISourceBlock<T3>

A terceira origem.

action3
Action<T3>

O manipulador a ser executado nos dados da terceira origem.

dataflowBlockOptions
DataflowBlockOptions

As opções com as quais esta escolha será configurada.

Retornos

Task<Int32>

Um Task<TResult> que representa a escolha assíncrona. Se todas as fontes forem concluídas antes de concluir a opção ou, se o CancellationToken fornecido como parte do dataflowBlockOptions foi cancelado antes de concluir a opção, a tarefa resultante será cancelada. Quando uma das fontes tem dados disponíveis e os propaga com êxito para a escolha, a tarefa resultante será concluída quando o manipulador for concluído; se o manipulador gerar uma exceção, a tarefa terminará no estado Faulted e conterá a exceção sem tratamento. Caso contrário, a tarefa terminará com a seu Result definido para o índice de base 0 da origem.

Esse método só consumirá um elemento de uma das fontes de dados, nunca mais de uma. Se o cancelamento for solicitado após um elemento ser recebido, a solicitação de cancelamento será ignorada e o manipulador relevante terá permissão para executar.

Exceções

O source1 é null.

- ou - O action1 é null.

- ou - O source2 é null.

- ou - O action2 é null.

- ou - O source3 é null.

- ou - O action3 é null.

- ou - O dataflowBlockOptions é null.

Aplica-se a

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

Monitora duas fontes de fluxo de dados, invocando o manipulador fornecido para a fonte que disponibilizar os dados primeiro.

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)

Parâmetros de tipo

T1

Especifica o tipo de dados contidos na primeira fonte.

T2

Especifica o tipo de dados contidos na segunda fonte.

Parâmetros

source1
ISourceBlock<T1>

A primeira origem.

action1
Action<T1>

O manipulador a ser executado nos dados da primeira origem.

source2
ISourceBlock<T2>

A segunda origem.

action2
Action<T2>

O manipulador a ser executado nos dados da segunda origem.

Retornos

Task<Int32>

Um Task<TResult> que representa a escolha assíncrona. Se ambas as fontes forem concluídas antes de concluir a opção, a tarefa resultante será cancelada. Quando uma das fontes tem dados disponíveis e os propaga com êxito para a escolha, a tarefa resultante será concluída quando o manipulador for concluído; se o manipulador gerar uma exceção, a tarefa terminará no estado Faulted e conterá a exceção sem tratamento. Caso contrário, a tarefa será finalizada com seu Result definido como 0 ou 1 para representar a primeira ou segunda fonte, respectivamente.

Esse método só consumirá um elemento de uma das duas fontes de dados, nunca de ambas.

Exceções

O source1 é null.

- ou - O action1 é null.

- ou - O source2 é null.

- ou - O action2 é null.

Aplica-se a

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

Monitora duas fontes de fluxo de dados, invocando o manipulador fornecido para a fonte que disponibilizar os dados primeiro.

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)

Parâmetros de tipo

T1

Especifica o tipo de dados contidos na primeira fonte.

T2

Especifica o tipo de dados contidos na segunda fonte.

Parâmetros

source1
ISourceBlock<T1>

A primeira origem.

action1
Action<T1>

O manipulador a ser executado nos dados da primeira origem.

source2
ISourceBlock<T2>

A segunda origem.

action2
Action<T2>

O manipulador a ser executado nos dados da segunda origem.

dataflowBlockOptions
DataflowBlockOptions

As opções com as quais esta escolha será configurada.

Retornos

Task<Int32>

Um Task<TResult> que representa a escolha assíncrona. Se ambas as fontes forem concluídas antes de concluir a opção ou, se o CancellationToken fornecido como parte do dataflowBlockOptions foi cancelado antes de concluir a opção, a tarefa resultante será cancelada. Quando uma das fontes tem dados disponíveis e os propaga com êxito para a escolha, a tarefa resultante será concluída quando o manipulador for concluído; se o manipulador gerar uma exceção, a tarefa terminará no estado Faulted e conterá a exceção sem tratamento. Caso contrário, a tarefa será finalizada com seu Result definido como 0 ou 1 para representar a primeira ou segunda fonte, respectivamente.

Exceções

O source1 é null.

- ou - O action1 é null.

- ou - O source2 é null.

- ou - O action2 é null.

- ou - O dataflowBlockOptions é null.

Aplica-se a