DataflowBlock.Choose Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Sobrecargas
| Nome | Description |
|---|---|
| Choose<T1,T2,T3>(ISourceBlock<T1>, Action<T1>, ISourceBlock<T2>, Action<T2>, ISourceBlock<T3>, Action<T3>) |
Monitora três fontes de fluxo de dados, invocando o manipulador fornecido para qualquer fonte que disponibilize os dados primeiro. |
| Choose<T1,T2,T3>(ISourceBlock<T1>, Action<T1>, ISourceBlock<T2>, Action<T2>, ISourceBlock<T3>, Action<T3>, DataflowBlockOptions) |
Monitora três fontes de fluxo de dados, invocando o manipulador fornecido para qualquer fonte que disponibilize 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 qualquer fonte que disponibilize 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 qualquer fonte que disponibilize os dados primeiro. |
Choose<T1,T2,T3>(ISourceBlock<T1>, Action<T1>, ISourceBlock<T2>, Action<T2>, ISourceBlock<T3>, Action<T3>)
- Origem:
- DataflowBlock.cs
- Origem:
- DataflowBlock.cs
- Origem:
- DataflowBlock.cs
- Origem:
- DataflowBlock.cs
- Origem:
- DataflowBlock.cs
- Origem:
- DataflowBlock.cs
- Origem:
- DataflowBlock.cs
Monitora três fontes de fluxo de dados, invocando o manipulador fornecido para qualquer fonte que disponibilize 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 fonte.
- action1
- Action<T1>
O manipulador a ser executado nos dados da primeira fonte.
- source2
- ISourceBlock<T2>
A segunda fonte.
- action2
- Action<T2>
O manipulador a ser executado nos dados da segunda fonte.
- source3
- ISourceBlock<T3>
A terceira fonte.
- action3
- Action<T3>
O manipulador a ser executado nos dados da terceira fonte.
Retornos
Um Task<TResult> que representa a escolha assíncrona. Se todas as fontes forem concluídas antes da conclusão da escolha, a tarefa resultante será cancelada. Quando uma das fontes tiver dados disponíveis e propagar 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 Faulted estado e conterá a exceção sem tratamento. Caso contrário, a tarefa terminará com seu Result conjunto para o índice baseado em 0 da origem.
Esse método consumirá apenas 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)
- Origem:
- DataflowBlock.cs
- Origem:
- DataflowBlock.cs
- Origem:
- DataflowBlock.cs
- Origem:
- DataflowBlock.cs
- Origem:
- DataflowBlock.cs
- Origem:
- DataflowBlock.cs
- Origem:
- DataflowBlock.cs
Monitora três fontes de fluxo de dados, invocando o manipulador fornecido para qualquer fonte que disponibilize 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 fonte.
- action1
- Action<T1>
O manipulador a ser executado nos dados da primeira fonte.
- source2
- ISourceBlock<T2>
A segunda fonte.
- action2
- Action<T2>
O manipulador a ser executado nos dados da segunda fonte.
- source3
- ISourceBlock<T3>
A terceira fonte.
- action3
- Action<T3>
O manipulador a ser executado nos dados da terceira fonte.
- dataflowBlockOptions
- DataflowBlockOptions
As opções com as quais configurar essa opção.
Retornos
Um Task<TResult> que representa a escolha assíncrona. Se todas as fontes forem concluídas antes da conclusão da escolha ou se o CancellationToken fornecido como parte dataflowBlockOptions for cancelado antes da conclusão da escolha, a tarefa resultante será cancelada. Quando uma das fontes tiver dados disponíveis e propagar 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 Faulted estado e conterá a exceção sem tratamento. Caso contrário, a tarefa terminará com seu Result conjunto para o índice baseado em 0 da origem.
Esse método consumirá apenas um elemento de uma das fontes de dados, nunca mais de uma. Se o cancelamento for solicitado após o recebimento de um elemento, a solicitação de cancelamento será ignorada e o manipulador relevante poderá ser executado.
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>)
- Origem:
- DataflowBlock.cs
- Origem:
- DataflowBlock.cs
- Origem:
- DataflowBlock.cs
- Origem:
- DataflowBlock.cs
- Origem:
- DataflowBlock.cs
- Origem:
- DataflowBlock.cs
- Origem:
- DataflowBlock.cs
Monitora duas fontes de fluxo de dados, invocando o manipulador fornecido para qualquer fonte que disponibilize 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 fonte.
- action1
- Action<T1>
O manipulador a ser executado nos dados da primeira fonte.
- source2
- ISourceBlock<T2>
A segunda fonte.
- action2
- Action<T2>
O manipulador a ser executado nos dados da segunda fonte.
Retornos
Um Task<TResult> que representa a escolha assíncrona. Se ambas as fontes forem concluídas antes da conclusão da escolha, a tarefa resultante será cancelada. Quando uma das fontes tiver dados disponíveis e propagar 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 Faulted estado e conterá a exceção sem tratamento. Caso contrário, a tarefa terminará com seu Result conjunto como 0 ou 1 para representar a primeira ou segunda origem, respectivamente.
Esse método consumirá apenas um elemento de uma das duas fontes de dados, nunca 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)
- Origem:
- DataflowBlock.cs
- Origem:
- DataflowBlock.cs
- Origem:
- DataflowBlock.cs
- Origem:
- DataflowBlock.cs
- Origem:
- DataflowBlock.cs
- Origem:
- DataflowBlock.cs
- Origem:
- DataflowBlock.cs
Monitora duas fontes de fluxo de dados, invocando o manipulador fornecido para qualquer fonte que disponibilize 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 fonte.
- action1
- Action<T1>
O manipulador a ser executado nos dados da primeira fonte.
- source2
- ISourceBlock<T2>
A segunda fonte.
- action2
- Action<T2>
O manipulador a ser executado nos dados da segunda fonte.
- dataflowBlockOptions
- DataflowBlockOptions
As opções com as quais configurar essa opção.
Retornos
Um Task<TResult> que representa a escolha assíncrona. Se ambas as fontes forem concluídas antes da conclusão da escolha ou se o CancellationToken fornecido como parte dataflowBlockOptions for cancelado antes da conclusão da escolha, a tarefa resultante será cancelada. Quando uma das fontes tiver dados disponíveis e propagar 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 Faulted estado e conterá a exceção sem tratamento. Caso contrário, a tarefa terminará com seu Result conjunto como 0 ou 1 para representar a primeira ou segunda origem, respectivamente.
Exceções
O source1 é null.
- ou -
O action1 é null.
- ou -
O source2 é null.
- ou -
O action2 é null.
- ou -
O dataflowBlockOptions é null.