DataflowBlock.Choose Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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<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 valeurnull
.ou -
source2
a la valeurnull
.ou -
action2
a la valeurnull
.ou -
source3
a la valeurnull
.ou -
action3
a la valeurnull
.
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<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 valeurnull
.ou -
source2
a la valeurnull
.ou -
action2
a la valeurnull
.ou -
source3
a la valeurnull
.ou -
action3
a la valeurnull
.ou -
dataflowBlockOptions
a la valeurnull
.
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<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 valeurnull
.ou -
source2
a la valeurnull
.ou -
action2
a la valeurnull
.
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<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 valeurnull
.ou -
source2
a la valeurnull
.ou -
action2
a la valeurnull
.ou -
dataflowBlockOptions
a la valeurnull
.