Udostępnij za pośrednictwem


DataflowBlock.Choose Metoda

Definicja

Przeciążenia

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

Monitoruje trzy źródła przepływu danych, wywołując podaną procedurę obsługi dla niezależnie od tego, które źródło udostępnia dane jako pierwsze.

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

Monitoruje trzy źródła przepływu danych, wywołując podaną procedurę obsługi dla niezależnie od tego, które źródło udostępnia dane jako pierwsze.

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

Monitoruje dwa źródła przepływu danych, wywołując podaną procedurę obsługi dla niezależnie od tego, które źródło udostępnia dane jako pierwsze.

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

Monitoruje dwa źródła przepływu danych, wywołując podaną procedurę obsługi dla niezależnie od tego, które źródło udostępnia dane jako pierwsze.

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

Źródło:
DataflowBlock.cs
Źródło:
DataflowBlock.cs
Źródło:
DataflowBlock.cs

Monitoruje trzy źródła przepływu danych, wywołując podaną procedurę obsługi dla niezależnie od tego, które źródło udostępnia dane jako pierwsze.

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)

Parametry typu

T1

Określa typ danych zawartych w pierwszym źródle.

T2

Określa typ danych zawartych w drugim źródle.

T3

Określa typ danych zawartych w trzecim źródle.

Parametry

source1
ISourceBlock<T1>

Pierwsze źródło.

action1
Action<T1>

Procedura obsługi do wykonania na danych z pierwszego źródła.

source2
ISourceBlock<T2>

Drugie źródło.

action2
Action<T2>

Procedura obsługi do wykonania na danych z drugiego źródła.

source3
ISourceBlock<T3>

Trzecie źródło.

action3
Action<T3>

Procedura obsługi do wykonania na danych z trzeciego źródła.

Zwraca

Element Task<TResult> reprezentujący wybór asynchroniczny. Jeśli wszystkie źródła zostaną ukończone przed ukończeniem wyboru, wynikowe zadanie zostanie anulowane. Gdy jedno ze źródeł ma dostępne dane i pomyślnie je propaguje do wyboru, wynikowe zadanie zostanie wykonane po zakończeniu obsługi; jeśli program obsługi zgłasza wyjątek, zadanie zakończy się w Faulted stanie i będzie zawierać nieobsługiwany wyjątek. W przeciwnym razie zadanie zakończy się Result z ustawionym na 0 indeksem źródła.

Ta metoda będzie używać tylko elementu z jednego ze źródeł danych, nigdy więcej niż jednego.

Wyjątki

Element source1 to null.

-lub-

Element action1 to null.

-lub-

Element source2 to null.

-lub-

Element action2 to null.

-lub-

Element source3 to null.

-lub-

Element action3 to null.

Dotyczy

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

Źródło:
DataflowBlock.cs
Źródło:
DataflowBlock.cs
Źródło:
DataflowBlock.cs

Monitoruje trzy źródła przepływu danych, wywołując podaną procedurę obsługi dla niezależnie od tego, które źródło udostępnia dane jako pierwsze.

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)

Parametry typu

T1

Określa typ danych zawartych w pierwszym źródle.

T2

Określa typ danych zawartych w drugim źródle.

T3

Określa typ danych zawartych w trzecim źródle.

Parametry

source1
ISourceBlock<T1>

Pierwsze źródło.

action1
Action<T1>

Procedura obsługi do wykonania na danych z pierwszego źródła.

source2
ISourceBlock<T2>

Drugie źródło.

action2
Action<T2>

Procedura obsługi do wykonania na danych z drugiego źródła.

source3
ISourceBlock<T3>

Trzecie źródło.

action3
Action<T3>

Procedura obsługi do wykonania na danych z trzeciego źródła.

dataflowBlockOptions
DataflowBlockOptions

Opcje, za pomocą których można skonfigurować ten wybór.

Zwraca

Element Task<TResult> reprezentujący wybór asynchroniczny. Jeśli wszystkie źródła zostaną ukończone przed zakończeniem wyboru lub jeśli CancellationToken podane jako część dataflowBlockOptions zostanie anulowane przed ukończeniem wyboru, wynikowe zadanie zostanie anulowane. Gdy jedno ze źródeł ma dostępne dane i pomyślnie je propaguje do wyboru, wynikowe zadanie zostanie wykonane po zakończeniu obsługi; jeśli program obsługi zgłasza wyjątek, zadanie zakończy się w Faulted stanie i będzie zawierać nieobsługiwany wyjątek. W przeciwnym razie zadanie zakończy się Result z ustawionym na 0 indeksem źródła.

Ta metoda będzie używać tylko elementu z jednego ze źródeł danych, nigdy więcej niż jednego. Jeśli żądanie anulowania jest żądane po odebraniu elementu, żądanie anulowania zostanie zignorowane, a odpowiedni program obsługi będzie mógł wykonać.

Wyjątki

Element source1 to null.

-lub-

Element action1 to null.

-lub-

Element source2 to null.

-lub-

Element action2 to null.

-lub-

Element source3 to null.

-lub-

Element action3 to null.

-lub-

Element dataflowBlockOptions to null.

Dotyczy

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

Źródło:
DataflowBlock.cs
Źródło:
DataflowBlock.cs
Źródło:
DataflowBlock.cs

Monitoruje dwa źródła przepływu danych, wywołując podaną procedurę obsługi dla niezależnie od tego, które źródło udostępnia dane jako pierwsze.

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)

Parametry typu

T1

Określa typ danych zawartych w pierwszym źródle.

T2

Określa typ danych zawartych w drugim źródle.

Parametry

source1
ISourceBlock<T1>

Pierwsze źródło.

action1
Action<T1>

Procedura obsługi do wykonania na danych z pierwszego źródła.

source2
ISourceBlock<T2>

Drugie źródło.

action2
Action<T2>

Procedura obsługi do wykonania na danych z drugiego źródła.

Zwraca

Element Task<TResult> reprezentujący wybór asynchroniczny. Jeśli oba źródła zostaną ukończone przed ukończeniem wyboru, wynikowe zadanie zostanie anulowane. Gdy jedno ze źródeł ma dostępne dane i pomyślnie je propaguje do wyboru, wynikowe zadanie zostanie wykonane po zakończeniu obsługi; jeśli program obsługi zgłasza wyjątek, zadanie zakończy się w Faulted stanie i będzie zawierać nieobsługiwany wyjątek. W przeciwnym razie zadanie zakończy Result się z ustawionym na 0 lub 1, aby reprezentować odpowiednio pierwsze lub drugie źródło.

Ta metoda będzie używać tylko elementu z jednego z dwóch źródeł danych, nigdy nie oba.

Wyjątki

Element source1 to null.

-lub-

Element action1 to null.

-lub-

Element source2 to null.

-lub-

Element action2 to null.

Dotyczy

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

Źródło:
DataflowBlock.cs
Źródło:
DataflowBlock.cs
Źródło:
DataflowBlock.cs

Monitoruje dwa źródła przepływu danych, wywołując podaną procedurę obsługi dla niezależnie od tego, które źródło udostępnia dane jako pierwsze.

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)

Parametry typu

T1

Określa typ danych zawartych w pierwszym źródle.

T2

Określa typ danych zawartych w drugim źródle.

Parametry

source1
ISourceBlock<T1>

Pierwsze źródło.

action1
Action<T1>

Procedura obsługi do wykonania na danych z pierwszego źródła.

source2
ISourceBlock<T2>

Drugie źródło.

action2
Action<T2>

Procedura obsługi do wykonania na danych z drugiego źródła.

dataflowBlockOptions
DataflowBlockOptions

Opcje, za pomocą których można skonfigurować ten wybór.

Zwraca

Element Task<TResult> reprezentujący wybór asynchroniczny. Jeśli oba źródła zostaną ukończone przed ukończeniem wyboru lub jeśli CancellationToken podane jako część dataflowBlockOptions zostanie anulowane przed ukończeniem wyboru, wynikowe zadanie zostanie anulowane. Gdy jedno ze źródeł ma dostępne dane i pomyślnie je propaguje do wyboru, wynikowe zadanie zostanie wykonane po zakończeniu obsługi; jeśli program obsługi zgłasza wyjątek, zadanie zakończy się w Faulted stanie i będzie zawierać nieobsługiwany wyjątek. W przeciwnym razie zadanie zakończy Result się z ustawionym na 0 lub 1, aby reprezentować odpowiednio pierwsze lub drugie źródło.

Wyjątki

Element source1 to null.

-lub-

Element action1 to null.

-lub-

Element source2 to null.

-lub-

Element action2 to null.

-lub-

Element dataflowBlockOptions to null.

Dotyczy