Partager via


DataflowBlock.Choose Méthode

Définition

Surcharges

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

Surveille trois sources de flux de données, en appelant le gestionnaire fourni pour toute source qui rend les données disponibles en premier.

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

Surveille trois sources de flux de données, en appelant le gestionnaire fourni pour toute source qui rend les données disponibles en premier.

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

Surveille deux sources de flux de données, en appelant le gestionnaire fourni pour toute source qui rend les données disponibles en premier.

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

Surveille deux sources de flux de données, en appelant le gestionnaire fourni pour toute source qui rend les données disponibles en premier.

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

Surveille trois sources de flux de données, en appelant le gestionnaire fourni pour toute source qui rend les données disponibles en premier.

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)

Paramètres de type

T1

Spécifie le type de données contenu dans la première source.

T2

Spécifie le type de données contenu dans la deuxième source.

T3

Spécifie le type de données contenu dans la troisième source.

Paramètres

source1
ISourceBlock<T1>

Première source.

action1
Action<T1>

Gestionnaire à exécuter sur les données de la première source.

source2
ISourceBlock<T2>

Deuxième source.

action2
Action<T2>

Gestionnaire à exécuter sur les données de la deuxième source.

source3
ISourceBlock<T3>

Troisième source.

action3
Action<T3>

Gestionnaire à exécuter sur les données de la troisième source.

Retours

Task<Int32>

Task<TResult> qui représente le choix asynchrone. Si toutes les sources sont terminées avant d'avoir effectué un choix, la tâche résultante est annulée. Lorsque l'une des sources a des données disponibles et les propage avec succès au choix, la tâche résultante s'achève lorsque le gestionnaire se termine. Si le gestionnaire lève une exception, la tâche se termine à l'état Faulted et contiendra l'exception non gérée. Sinon, la tâche se termine avec son Result défini sur l'index de base 0 de la source.

Cette méthode consommera un seul élément de l'une des sources de données, jamais plusieurs.

Exceptions

source1 a la valeur null.

  • ou - action1 a la valeur null.

  • ou - source2 a la valeur null.

  • ou - action2 a la valeur null.

  • ou - source3 a la valeur null.

  • ou - action3 a la valeur null.

S’applique à

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

Surveille trois sources de flux de données, en appelant le gestionnaire fourni pour toute source qui rend les données disponibles en premier.

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)

Paramètres de type

T1

Spécifie le type de données contenu dans la première source.

T2

Spécifie le type de données contenu dans la deuxième source.

T3

Spécifie le type de données contenu dans la troisième source.

Paramètres

source1
ISourceBlock<T1>

Première source.

action1
Action<T1>

Gestionnaire à exécuter sur les données de la première source.

source2
ISourceBlock<T2>

Deuxième source.

action2
Action<T2>

Gestionnaire à exécuter sur les données de la deuxième source.

source3
ISourceBlock<T3>

Troisième source.

action3
Action<T3>

Gestionnaire à exécuter sur les données de la troisième source.

dataflowBlockOptions
DataflowBlockOptions

Options permettant de configurer ce choix.

Retours

Task<Int32>

Task<TResult> qui représente le choix asynchrone. Si toutes les sources sont terminées avant d'avoir effectué un choix, ou si le CancellationToken fourni dans le cadre des dataflowBlockOptions est annulé avant d'avoir effectué un choix, la tâche résultante est annulée. Lorsque l'une des sources a des données disponibles et les propage avec succès au choix, la tâche résultante s'achève lorsque le gestionnaire se termine. Si le gestionnaire lève une exception, la tâche se termine à l'état Faulted et contiendra l'exception non gérée. Sinon, la tâche se termine avec son Result défini sur l'index de base 0 de la source.

Cette méthode consommera un seul élément de l'une des sources de données, jamais plusieurs. Si l'annulation est demandée une fois qu'un élément a été reçu, la demande d'annulation est ignorée, et le gestionnaire approprié est autorisé à s'exécuter.

Exceptions

source1 a la valeur null.

  • ou - action1 a la valeur null.

  • ou - source2 a la valeur null.

  • ou - action2 a la valeur null.

  • ou - source3 a la valeur null.

  • ou - action3 a la valeur null.

  • ou - dataflowBlockOptions a la valeur null.

S’applique à

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

Surveille deux sources de flux de données, en appelant le gestionnaire fourni pour toute source qui rend les données disponibles en premier.

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)

Paramètres de type

T1

Spécifie le type de données contenu dans la première source.

T2

Spécifie le type de données contenu dans la deuxième source.

Paramètres

source1
ISourceBlock<T1>

Première source.

action1
Action<T1>

Gestionnaire à exécuter sur les données de la première source.

source2
ISourceBlock<T2>

Deuxième source.

action2
Action<T2>

Gestionnaire à exécuter sur les données de la deuxième source.

Retours

Task<Int32>

Task<TResult> qui représente le choix asynchrone. Si les deux sources sont terminées avant d'avoir effectué un choix, la tâche résultante est annulée. Lorsque l'une des sources a des données disponibles et les propage avec succès au choix, la tâche résultante s'achève lorsque le gestionnaire se termine. Si le gestionnaire lève une exception, la tâche se termine à l'état Faulted et contiendra l'exception non gérée. Sinon, la tâche se termine avec son Result défini sur 0 ou 1 pour représenter la première ou la deuxième source, respectivement.

Cette méthode consommera un seul élément de l'une des deux sources de données, jamais les deux.

Exceptions

source1 a la valeur null.

  • ou - action1 a la valeur null.

  • ou - source2 a la valeur null.

  • ou - action2 a la valeur null.

S’applique à

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

Surveille deux sources de flux de données, en appelant le gestionnaire fourni pour toute source qui rend les données disponibles en premier.

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)

Paramètres de type

T1

Spécifie le type de données contenu dans la première source.

T2

Spécifie le type de données contenu dans la deuxième source.

Paramètres

source1
ISourceBlock<T1>

Première source.

action1
Action<T1>

Gestionnaire à exécuter sur les données de la première source.

source2
ISourceBlock<T2>

Deuxième source.

action2
Action<T2>

Gestionnaire à exécuter sur les données de la deuxième source.

dataflowBlockOptions
DataflowBlockOptions

Options permettant de configurer ce choix.

Retours

Task<Int32>

Task<TResult> qui représente le choix asynchrone. Si les deux sources sont terminées avant d'avoir effectué un choix, ou si le CancellationToken fourni dans le cadre des dataflowBlockOptions est annulé avant d'avoir effectué un choix, la tâche résultante est annulée. Lorsque l'une des sources a des données disponibles et les propage avec succès au choix, la tâche résultante s'achève lorsque le gestionnaire se termine. Si le gestionnaire lève une exception, la tâche se termine à l'état Faulted et contiendra l'exception non gérée. Sinon, la tâche se termine avec son Result défini sur 0 ou 1 pour représenter la première ou la deuxième source, respectivement.

Exceptions

source1 a la valeur null.

  • ou - action1 a la valeur null.

  • ou - source2 a la valeur null.

  • ou - action2 a la valeur null.

  • ou - dataflowBlockOptions a la valeur null.

S’applique à