Freigeben über


DataflowBlock.Choose Methode

Definition

Überlädt

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

Überwacht drei Datenflussquellen, wobei der angegebene Handler für eine beliebige Quelle aufgerufen wird, die Daten zuerst verfügbar macht.

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

Überwacht drei Datenflussquellen, wobei der angegebene Handler für eine beliebige Quelle aufgerufen wird, die Daten zuerst verfügbar macht.

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

Überwacht zwei Datenflussquellen, wobei der angegebene Handler für eine beliebige Quelle aufgerufen wird, die Daten zuerst verfügbar macht.

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

Überwacht zwei Datenflussquellen, wobei der angegebene Handler für eine beliebige Quelle aufgerufen wird, die Daten zuerst verfügbar macht.

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

Überwacht drei Datenflussquellen, wobei der angegebene Handler für eine beliebige Quelle aufgerufen wird, die Daten zuerst verfügbar macht.

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)

Typparameter

T1

Gibt den Typ der Daten an, die in der ersten Quelle enthalten sind.

T2

Gibt den Typ der Daten an, die in der zweiten Quelle enthalten sind.

T3

Gibt den Datentyp an, der in der dritten Quelle enthalten ist.

Parameter

source1
ISourceBlock<T1>

Die erste Quelle.

action1
Action<T1>

Der Handler zu Ausführen von Daten aus der ersten Quelle.

source2
ISourceBlock<T2>

Die zweite Quelle.

action2
Action<T2>

Der Handler zu Ausführen von Daten aus der zweiten Quelle.

source3
ISourceBlock<T3>

Die dritte Quelle.

action3
Action<T3>

Die Handler zu Ausführen von Daten aus der dritten Quelle.

Gibt zurück

Task<Int32>

Eine Task<TResult>, die die asynchrone Auswahl darstellt. Wenn alle Quellen vor dem Abschluss der Auswahl beendet werden, wird die resultierende Aufgabe abgebrochen. Wenn eine der Datenquellen verfügbare Daten hat und erfolgreich an die Auswahl weitergibt, wird die resultierende Aufgabe abgeschlossen, wenn der Handler abgeschlossen wird. Wenn der Handler eine Ausnahme auslöst, endet die Aufgabe im Zustand Faulted und enthält den Ausnahmefehler. Andernfalls wird die Aufgabe mit dem Result beendet, das auf den 0-basierten Index der Quelle festgelegt ist.

Diese Methode verwendet nur ein Element aus einer der Datenquellen, nie mehr als eine.

Ausnahmen

source1 ist null.

- oder - action1 ist null.

- oder - source2 ist null.

- oder - action2 ist null.

- oder - source3 ist null.

- oder - action3 ist null.

Gilt für

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

Überwacht drei Datenflussquellen, wobei der angegebene Handler für eine beliebige Quelle aufgerufen wird, die Daten zuerst verfügbar macht.

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)

Typparameter

T1

Gibt den Typ der Daten an, die in der ersten Quelle enthalten sind.

T2

Gibt den Typ der Daten an, die in der zweiten Quelle enthalten sind.

T3

Gibt den Datentyp an, der in der dritten Quelle enthalten ist.

Parameter

source1
ISourceBlock<T1>

Die erste Quelle.

action1
Action<T1>

Der Handler zu Ausführen von Daten aus der ersten Quelle.

source2
ISourceBlock<T2>

Die zweite Quelle.

action2
Action<T2>

Der Handler zu Ausführen von Daten aus der zweiten Quelle.

source3
ISourceBlock<T3>

Die dritte Quelle.

action3
Action<T3>

Die Handler zu Ausführen von Daten aus der dritten Quelle.

dataflowBlockOptions
DataflowBlockOptions

Die Optionen, mit denen diese Wahl zu konfigurieren ist.

Gibt zurück

Task<Int32>

Eine Task<TResult>, die die asynchrone Auswahl darstellt. Wenn alle Quellen vor dem Abschließen der Auswahl abgeschlossen werden oder wenn CancellationToken, das als Teil von dataflowBlockOptions bereitgestellt wird, vor dem Abschließen der AUswahl abgebrochen wird, wird die resultierende Aufgabe abgebrochen. Wenn eine der Datenquellen verfügbare Daten hat und erfolgreich an die Auswahl weitergibt, wird die resultierende Aufgabe abgeschlossen, wenn der Handler abgeschlossen wird. Wenn der Handler eine Ausnahme auslöst, endet die Aufgabe im Zustand Faulted und enthält den Ausnahmefehler. Andernfalls wird die Aufgabe mit dem Result beendet, das auf den 0-basierten Index der Quelle festgelegt ist.

Diese Methode verwendet nur ein Element aus einer der Datenquellen, nie mehr als eine. Wenn der Abbruch angefordert wird, nachdem ein Element empfangen wurde, wird die Abbruchanforderung ignoriert, und der entsprechende Handler ist zulässig.

Ausnahmen

source1 ist null.

- oder - action1 ist null.

- oder - source2 ist null.

- oder - action2 ist null.

- oder - source3 ist null.

- oder - action3 ist null.

- oder - dataflowBlockOptions ist null.

Gilt für

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

Überwacht zwei Datenflussquellen, wobei der angegebene Handler für eine beliebige Quelle aufgerufen wird, die Daten zuerst verfügbar macht.

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)

Typparameter

T1

Gibt den Typ der Daten an, die in der ersten Quelle enthalten sind.

T2

Gibt den Typ der Daten an, die in der zweiten Quelle enthalten sind.

Parameter

source1
ISourceBlock<T1>

Die erste Quelle.

action1
Action<T1>

Der Handler zu Ausführen von Daten aus der ersten Quelle.

source2
ISourceBlock<T2>

Die zweite Quelle.

action2
Action<T2>

Der Handler zu Ausführen von Daten aus der zweiten Quelle.

Gibt zurück

Task<Int32>

Eine Task<TResult>, die die asynchrone Auswahl darstellt. Wenn beide Quellen vor dem Abschluss der Auswahl beendet werden, wird die resultierende Aufgabe abgebrochen. Wenn eine der Datenquellen verfügbare Daten hat und erfolgreich an die Auswahl weitergibt, wird die resultierende Aufgabe abgeschlossen, wenn der Handler abgeschlossen wird. Wenn der Handler eine Ausnahme auslöst, endet die Aufgabe im Zustand Faulted und enthält den Ausnahmefehler. Andernfalls wird die Aufgabe mit dem Result beendet, das entweder auf 0 oder 1 festgelegt ist, um jeweils die erste oder zweite Quelle darzustellen.

Diese Methode verwendet nur ein Element aus einer der beiden Datenquellen, nie beide.

Ausnahmen

source1 ist null.

- oder - action1 ist null.

- oder - source2 ist null.

- oder - action2 ist null.

Gilt für

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

Überwacht zwei Datenflussquellen, wobei der angegebene Handler für eine beliebige Quelle aufgerufen wird, die Daten zuerst verfügbar macht.

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)

Typparameter

T1

Gibt den Typ der Daten an, die in der ersten Quelle enthalten sind.

T2

Gibt den Typ der Daten an, die in der zweiten Quelle enthalten sind.

Parameter

source1
ISourceBlock<T1>

Die erste Quelle.

action1
Action<T1>

Der Handler zu Ausführen von Daten aus der ersten Quelle.

source2
ISourceBlock<T2>

Die zweite Quelle.

action2
Action<T2>

Der Handler zu Ausführen von Daten aus der zweiten Quelle.

dataflowBlockOptions
DataflowBlockOptions

Die Optionen, mit denen diese Wahl zu konfigurieren ist.

Gibt zurück

Task<Int32>

Eine Task<TResult>, die die asynchrone Auswahl darstellt. Wenn alle Quellen vor dem Abschließen der Auswahl abgeschlossen werden oder wenn CancellationToken, das als Teil von dataflowBlockOptions bereitgestellt wird, vor dem Abschließen der Auswahl abgebrochen wird, wird die resultierende Aufgabe abgebrochen. Wenn eine der Datenquellen verfügbare Daten hat und erfolgreich an die Auswahl weitergibt, wird die resultierende Aufgabe abgeschlossen, wenn der Handler abgeschlossen wird. Wenn der Handler eine Ausnahme auslöst, endet die Aufgabe im Zustand Faulted und enthält den Ausnahmefehler. Andernfalls wird die Aufgabe mit dem Result beendet, das entweder auf 0 oder 1 festgelegt ist, um jeweils die erste oder zweite Quelle darzustellen.

Ausnahmen

source1 ist null.

- oder - action1 ist null.

- oder - source2 ist null.

- oder - action2 ist null.

- oder - dataflowBlockOptions ist null.

Gilt für