Compartir a través de


DataflowBlock.Choose Método

Definición

Sobrecargas

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

Supervisa tres orígenes de flujo de datos, invocando el controlador proporcionado para cualquier origen que haga que los datos se encuentren disponibles en primer lugar.

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

Supervisa tres orígenes de flujo de datos, invocando el controlador proporcionado para cualquier origen que haga que los datos se encuentren disponibles en primer lugar.

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

Supervisa dos orígenes de flujo de datos, invocando el controlador proporcionado para cualquier origen que haga que los datos se encuentren disponibles en primer lugar.

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

Supervisa dos orígenes de flujo de datos, invocando el controlador proporcionado para cualquier origen que haga que los datos se encuentren disponibles en primer lugar.

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

Supervisa tres orígenes de flujo de datos, invocando el controlador proporcionado para cualquier origen que haga que los datos se encuentren disponibles en primer lugar.

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 el tipo de datos contenidos en el primer origen.

T2

Especifica el tipo de datos contenidos en el segundo origen.

T3

Especifica el tipo de datos contenidos en el tercer origen.

Parámetros

source1
ISourceBlock<T1>

El primer origen.

action1
Action<T1>

Controlador que se va a ejecutar en datos del primer origen.

source2
ISourceBlock<T2>

El segundo origen.

action2
Action<T2>

Controlador que se va a ejecutar en datos del segundo origen.

source3
ISourceBlock<T3>

El tercer origen.

action3
Action<T3>

Controlador que se va a ejecutar en datos del tercer origen.

Devoluciones

Task<Int32>

Task<TResult> que representa la elección asincrónica. Si todos los orígenes se completan antes de completar la selección, la tarea resultante se cancelará. Cuando uno de los orígenes tiene datos disponibles y los propaga correctamente a la opción, la tarea resultante se completará cuando se complete el controlador; si el controlador produce una excepción, la tarea finalizará en el estado Faulted y contendrá la excepción no controlada. En caso contrario, la tarea finalizará con la propiedad Result establecida en el índice de base 0 del origen.

Este método solo consumirá un elemento de uno de los orígenes de datos, nunca de más de uno.

Excepciones

El valor de source1 es null.

o bien El valor de action1 es null.

o bien El valor de source2 es null.

o bien El valor de action2 es null.

o bien El valor de source3 es null.

o bien El valor de action3 es null.

Se aplica a

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

Supervisa tres orígenes de flujo de datos, invocando el controlador proporcionado para cualquier origen que haga que los datos se encuentren disponibles en primer lugar.

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 el tipo de datos contenidos en el primer origen.

T2

Especifica el tipo de datos contenidos en el segundo origen.

T3

Especifica el tipo de datos contenidos en el tercer origen.

Parámetros

source1
ISourceBlock<T1>

El primer origen.

action1
Action<T1>

Controlador que se va a ejecutar en datos del primer origen.

source2
ISourceBlock<T2>

El segundo origen.

action2
Action<T2>

Controlador que se va a ejecutar en datos del segundo origen.

source3
ISourceBlock<T3>

El tercer origen.

action3
Action<T3>

Controlador que se va a ejecutar en datos del tercer origen.

dataflowBlockOptions
DataflowBlockOptions

Las opciones con las que se van a configurar esta opción.

Devoluciones

Task<Int32>

Task<TResult> que representa la elección asincrónica. Si todos los orígenes se completan antes de completar la selección o si el CancellationToken proporcionado como parte de dataflowBlockOptions se cancela antes de completar la selección, la tarea resultante se cancelará. Cuando uno de los orígenes tiene datos disponibles y los propaga correctamente a la opción, la tarea resultante se completará cuando se complete el controlador; si el controlador produce una excepción, la tarea finalizará en el estado Faulted y contendrá la excepción no controlada. En caso contrario, la tarea finalizará con la propiedad Result establecida en el índice de base 0 del origen.

Este método solo consumirá un elemento de uno de los orígenes de datos, nunca de más de uno. Si se solicita la cancelación una vez recibido un elemento, la solicitud de cancelación se omitirá y se permitirá que el controlador pertinente se ejecute.

Excepciones

El valor de source1 es null.

o bien El valor de action1 es null.

o bien El valor de source2 es null.

o bien El valor de action2 es null.

o bien El valor de source3 es null.

o bien El valor de action3 es null.

o bien El valor de dataflowBlockOptions es null.

Se aplica a

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

Supervisa dos orígenes de flujo de datos, invocando el controlador proporcionado para cualquier origen que haga que los datos se encuentren disponibles en primer lugar.

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 el tipo de datos contenidos en el primer origen.

T2

Especifica el tipo de datos contenidos en el segundo origen.

Parámetros

source1
ISourceBlock<T1>

El primer origen.

action1
Action<T1>

Controlador que se va a ejecutar en datos del primer origen.

source2
ISourceBlock<T2>

El segundo origen.

action2
Action<T2>

Controlador que se va a ejecutar en datos del segundo origen.

Devoluciones

Task<Int32>

Task<TResult> que representa la elección asincrónica. Si ambos orígenes se completan antes de completar la selección, la tarea resultante se cancelará. Cuando uno de los orígenes tiene datos disponibles y los propaga correctamente a la opción, la tarea resultante se completará cuando se complete el controlador; si el controlador produce una excepción, la tarea finalizará en el estado Faulted y contendrá la excepción no controlada. En caso contrario, la tarea finalizará con la propiedad Result establecida en 0 o 1 para representar el primer o el segundo origen, respectivamente.

Este método solo consumirá un elemento de uno de los dos orígenes de datos, nunca de ambos.

Excepciones

El valor de source1 es null.

o bien El valor de action1 es null.

o bien El valor de source2 es null.

o bien El valor de action2 es null.

Se aplica a

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

Supervisa dos orígenes de flujo de datos, invocando el controlador proporcionado para cualquier origen que haga que los datos se encuentren disponibles en primer lugar.

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 el tipo de datos contenidos en el primer origen.

T2

Especifica el tipo de datos contenidos en el segundo origen.

Parámetros

source1
ISourceBlock<T1>

El primer origen.

action1
Action<T1>

Controlador que se va a ejecutar en datos del primer origen.

source2
ISourceBlock<T2>

El segundo origen.

action2
Action<T2>

Controlador que se va a ejecutar en datos del segundo origen.

dataflowBlockOptions
DataflowBlockOptions

Las opciones con las que se van a configurar esta opción.

Devoluciones

Task<Int32>

Task<TResult> que representa la elección asincrónica. Si ambos orígenes se completan antes de completar la selección o si el CancellationToken proporcionado como parte de dataflowBlockOptions se cancela antes de completar la selección, la tarea resultante se cancelará. Cuando uno de los orígenes tiene datos disponibles y los propaga correctamente a la opción, la tarea resultante se completará cuando se complete el controlador; si el controlador produce una excepción, la tarea finalizará en el estado Faulted y contendrá la excepción no controlada. En caso contrario, la tarea finalizará con la propiedad Result establecida en 0 o 1 para representar el primer o el segundo origen, respectivamente.

Excepciones

El valor de source1 es null.

o bien El valor de action1 es null.

o bien El valor de source2 es null.

o bien El valor de action2 es null.

o bien El valor de dataflowBlockOptions es null.

Se aplica a