DataflowBlock.Choose Метод

Определение

Перегрузки

Имя Описание
Choose<T1,T2,T3>(ISourceBlock<T1>, Action<T1>, ISourceBlock<T2>, Action<T2>, ISourceBlock<T3>, Action<T3>)

Отслеживает три источника потока данных, вызывая предоставленный обработчик для любого источника, который сначала делает данные доступными.

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

Отслеживает три источника потока данных, вызывая предоставленный обработчик для любого источника, который сначала делает данные доступными.

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

Отслеживает два источника потока данных, вызывая предоставленный обработчик для любого источника, предоставляющего доступ к данным в первую очередь.

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

Отслеживает два источника потока данных, вызывая предоставленный обработчик для любого источника, предоставляющего доступ к данным в первую очередь.

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

Исходный код:
DataflowBlock.cs
Исходный код:
DataflowBlock.cs
Исходный код:
DataflowBlock.cs
Исходный код:
DataflowBlock.cs
Исходный код:
DataflowBlock.cs
Исходный код:
DataflowBlock.cs
Исходный код:
DataflowBlock.cs

Отслеживает три источника потока данных, вызывая предоставленный обработчик для любого источника, который сначала делает данные доступными.

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)

Параметры типа

T1

Указывает тип данных, содержащихся в первом источнике.

T2

Указывает тип данных, содержащихся во втором источнике.

T3

Указывает тип данных, содержащихся в третьем источнике.

Параметры

source1
ISourceBlock<T1>

Первый источник.

action1
Action<T1>

Обработчик для выполнения данных из первого источника.

source2
ISourceBlock<T2>

Второй источник.

action2
Action<T2>

Обработчик для выполнения данных из второго источника.

source3
ISourceBlock<T3>

Третий источник.

action3
Action<T3>

Обработчик для выполнения данных из третьего источника.

Возвращаемое значение

Объект, Task<TResult> представляющий асинхронный выбор. Если все источники завершены до завершения выбора, результирующая задача будет отменена. Когда один из источников имеет доступные данные и успешно распространяет его на выбор, результирующая задача завершится после завершения обработчика; Если обработчик создает исключение, задача завершится в Faulted состоянии и будет содержать необработанное исключение. В противном случае задача завершится его Result набором на основе 0 индекса источника.

Этот метод будет использовать только элемент из одного из источников данных, никогда не более одного.

Исключения

Значение source1 равно null.

–или–

Значение action1 равно null.

–или–

Значение source2 равно null.

–или–

Значение action2 равно null.

–или–

Значение source3 равно null.

–или–

Значение action3 равно null.

Применяется к

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

Исходный код:
DataflowBlock.cs
Исходный код:
DataflowBlock.cs
Исходный код:
DataflowBlock.cs
Исходный код:
DataflowBlock.cs
Исходный код:
DataflowBlock.cs
Исходный код:
DataflowBlock.cs
Исходный код:
DataflowBlock.cs

Отслеживает три источника потока данных, вызывая предоставленный обработчик для любого источника, который сначала делает данные доступными.

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)

Параметры типа

T1

Указывает тип данных, содержащихся в первом источнике.

T2

Указывает тип данных, содержащихся во втором источнике.

T3

Указывает тип данных, содержащихся в третьем источнике.

Параметры

source1
ISourceBlock<T1>

Первый источник.

action1
Action<T1>

Обработчик для выполнения данных из первого источника.

source2
ISourceBlock<T2>

Второй источник.

action2
Action<T2>

Обработчик для выполнения данных из второго источника.

source3
ISourceBlock<T3>

Третий источник.

action3
Action<T3>

Обработчик для выполнения данных из третьего источника.

dataflowBlockOptions
DataflowBlockOptions

Параметры, с помощью которых необходимо настроить этот выбор.

Возвращаемое значение

Объект, Task<TResult> представляющий асинхронный выбор. Если все источники завершены до завершения выбора или CancellationToken если предоставленный как часть dataflowBlockOptions отменен до завершения выбора, результирующая задача будет отменена. Когда один из источников имеет доступные данные и успешно распространяет его на выбор, результирующая задача завершится после завершения обработчика; Если обработчик создает исключение, задача завершится в Faulted состоянии и будет содержать необработанное исключение. В противном случае задача завершится его Result набором на основе 0 индекса источника.

Этот метод будет использовать только элемент из одного из источников данных, никогда не более одного. Если отмена запрашивается после получения элемента, запрос на отмену будет проигнорирован, а соответствующий обработчик будет разрешен для выполнения.

Исключения

Значение source1 равно null.

–или–

Значение action1 равно null.

–или–

Значение source2 равно null.

–или–

Значение action2 равно null.

–или–

Значение source3 равно null.

–или–

Значение action3 равно null.

–или–

Значение dataflowBlockOptions равно null.

Применяется к

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

Исходный код:
DataflowBlock.cs
Исходный код:
DataflowBlock.cs
Исходный код:
DataflowBlock.cs
Исходный код:
DataflowBlock.cs
Исходный код:
DataflowBlock.cs
Исходный код:
DataflowBlock.cs
Исходный код:
DataflowBlock.cs

Отслеживает два источника потока данных, вызывая предоставленный обработчик для любого источника, предоставляющего доступ к данным в первую очередь.

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)

Параметры типа

T1

Указывает тип данных, содержащихся в первом источнике.

T2

Указывает тип данных, содержащихся во втором источнике.

Параметры

source1
ISourceBlock<T1>

Первый источник.

action1
Action<T1>

Обработчик для выполнения данных из первого источника.

source2
ISourceBlock<T2>

Второй источник.

action2
Action<T2>

Обработчик для выполнения данных из второго источника.

Возвращаемое значение

Объект, Task<TResult> представляющий асинхронный выбор. Если оба источника завершены до завершения выбора, результирующая задача будет отменена. Когда один из источников имеет доступные данные и успешно распространяет его на выбор, результирующая задача завершится после завершения обработчика; Если обработчик создает исключение, задача завершится в Faulted состоянии и будет содержать необработанное исключение. В противном случае задача завершится с заданным Result значением 0 или 1, чтобы представить первый или второй источник соответственно.

Этот метод будет использовать только элемент из одного из двух источников данных, никогда не оба.

Исключения

Значение source1 равно null.

–или–

Значение action1 равно null.

–или–

Значение source2 равно null.

–или–

Значение action2 равно null.

Применяется к

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

Исходный код:
DataflowBlock.cs
Исходный код:
DataflowBlock.cs
Исходный код:
DataflowBlock.cs
Исходный код:
DataflowBlock.cs
Исходный код:
DataflowBlock.cs
Исходный код:
DataflowBlock.cs
Исходный код:
DataflowBlock.cs

Отслеживает два источника потока данных, вызывая предоставленный обработчик для любого источника, предоставляющего доступ к данным в первую очередь.

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)

Параметры типа

T1

Указывает тип данных, содержащихся в первом источнике.

T2

Указывает тип данных, содержащихся во втором источнике.

Параметры

source1
ISourceBlock<T1>

Первый источник.

action1
Action<T1>

Обработчик для выполнения данных из первого источника.

source2
ISourceBlock<T2>

Второй источник.

action2
Action<T2>

Обработчик для выполнения данных из второго источника.

dataflowBlockOptions
DataflowBlockOptions

Параметры, с помощью которых необходимо настроить этот выбор.

Возвращаемое значение

Объект, Task<TResult> представляющий асинхронный выбор. Если оба источника завершены до завершения выбора или CancellationToken если предоставленный как часть dataflowBlockOptions отменен до завершения выбора, результирующая задача будет отменена. Когда один из источников имеет доступные данные и успешно распространяет его на выбор, результирующая задача завершится после завершения обработчика; Если обработчик создает исключение, задача завершится в Faulted состоянии и будет содержать необработанное исключение. В противном случае задача завершится с заданным Result значением 0 или 1, чтобы представить первый или второй источник соответственно.

Исключения

Значение source1 равно null.

–или–

Значение action1 равно null.

–или–

Значение source2 равно null.

–или–

Значение action2 равно null.

–или–

Значение dataflowBlockOptions равно null.

Применяется к