JoinBlock<T1,T2> Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет блок потока данных, который объединяется между несколькими источниками потока данных, не обязательно одного типа, ожидая прибытия одного элемента для каждого типа, прежде чем они будут выпущены вместе в качестве кортежа, состоящего из одного элемента на тип.
generic <typename T1, typename T2>
public ref class JoinBlock sealed : System::Threading::Tasks::Dataflow::IReceivableSourceBlock<Tuple<T1, T2> ^>, System::Threading::Tasks::Dataflow::ISourceBlock<Tuple<T1, T2> ^>
public sealed class JoinBlock<T1,T2> : System.Threading.Tasks.Dataflow.IReceivableSourceBlock<Tuple<T1,T2>>, System.Threading.Tasks.Dataflow.ISourceBlock<Tuple<T1,T2>>
type JoinBlock<'T1, 'T2> = class
interface IReceivableSourceBlock<'T1 * 'T2>
interface ISourceBlock<'T1 * 'T2>
interface IDataflowBlock
Public NotInheritable Class JoinBlock(Of T1, T2)
Implements IReceivableSourceBlock(Of Tuple(Of T1, T2)), ISourceBlock(Of Tuple(Of T1, T2))
Параметры типа
- T1
Указывает тип данных, принятых первым целевым объектом блока.
- T2
Указывает тип данных, принятых вторым целевым объектом блока.
- Наследование
-
JoinBlock<T1,T2>
- Реализации
-
IDataflowBlock IReceivableSourceBlock<Tuple<T1,T2>> ISourceBlock<Tuple<T1,T2>> ISourceBlock<TOutput>
Комментарии
Note
Библиотека потоков данных TPL (пространство имен System.Threading.Tasks.Dataflow) не распространяется с помощью .NET. Чтобы установить пространство имен System.Threading.Tasks.Dataflow в Visual Studio, откройте проект, выберите Управление пакетами NuGet в меню Project и найдите пакет System.Threading.Tasks.Dataflow в Интернете. Кроме того, чтобы установить его с помощью cli .NET Core, запустите dotnet add package System.Threading.Tasks.Dataflow.
Конструкторы
| Имя | Описание |
|---|---|
| JoinBlock<T1,T2>() |
Инициализирует новый JoinBlock<T1,T2>. |
| JoinBlock<T1,T2>(GroupingDataflowBlockOptions) |
Инициализирует новый JoinBlock<T1,T2>. |
Свойства
| Имя | Описание |
|---|---|
| Completion |
Возвращает объект Task , представляющий асинхронную операцию и завершение блока потока данных. |
| OutputCount |
Возвращает количество выходных элементов, доступных для получения из этого блока. |
| Target1 |
Получает целевой объект, который может использоваться для предложения сообщений первого типа. |
| Target2 |
Получает целевой объект, который может использоваться для предложения сообщений второго типа. |
Методы
| Имя | Описание |
|---|---|
| Complete() |
Сигналит о IDataflowBlock том, что он не должен принимать и не создавать больше сообщений, а также не потреблять больше отложенных сообщений. |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| LinkTo(ITargetBlock<Tuple<T1,T2>>, DataflowLinkOptions) |
Связывает указанный ISourceBlock<TOutput>ITargetBlock<TInput> объект. |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| ToString() |
Возвращает строку, представляющую отформатированное имя этого IDataflowBlock экземпляра. |
| TryReceive(Predicate<Tuple<T1,T2>>, Tuple<T1,T2>) |
Пытается синхронно получать доступный выходной элемент из .IReceivableSourceBlock<TOutput> |
| TryReceiveAll(IList<Tuple<T1,T2>>) |
Пытается синхронно получать все доступные элементы из .IReceivableSourceBlock<TOutput> |
Явные реализации интерфейса
| Имя | Описание |
|---|---|
| IDataflowBlock.Fault(Exception) |
Вызывает IDataflowBlock завершение в Faulted состоянии. |
| ISourceBlock<Tuple<T1,T2>>.ConsumeMessage(DataflowMessageHeader, ITargetBlock<Tuple<T1,T2>>, Boolean) |
Передает владение сообщением, определяемым этим экземпляром DataflowMessageHeaderITargetBlock<TInput>.ISourceBlock<TOutput> |
| ISourceBlock<Tuple<T1,T2>>.ReleaseReservation(DataflowMessageHeader, ITargetBlock<Tuple<T1,T2>>) |
Освобождает право передать право владения сообщением DataflowMessageHeader , определяемым этим ISourceBlock<TOutput> сообщением ITargetBlock<TInput>. |
| ISourceBlock<Tuple<T1,T2>>.ReserveMessage(DataflowMessageHeader, ITargetBlock<Tuple<T1,T2>>) |
Зарезервирует право передать право владения сообщением DataflowMessageHeader , определяемым этим ISourceBlock<TOutput> сообщением ITargetBlock<TInput>. |
Методы расширения
| Имя | Описание |
|---|---|
| AsObservable<TOutput>(ISourceBlock<TOutput>) |
Создает новую IObservable<T> абстракцию поверх ISourceBlock<TOutput>. |
| LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>, DataflowLinkOptions, Predicate<TOutput>) |
ISourceBlock<TOutput> Связывает указанный ITargetBlock<TInput> с помощью указанного фильтра. |
| LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>, Predicate<TOutput>) |
ISourceBlock<TOutput> Связывает указанный ITargetBlock<TInput> с помощью указанного фильтра. |
| LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>) |
Связывает указанный ISourceBlock<TOutput>ITargetBlock<TInput>объект. |
| OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>, CancellationToken) |
Предоставляет асинхронный Task<TResult> мониторинг источника для доступных выходных данных. |
| OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>) |
Предоставляет асинхронный Task<TResult> мониторинг источника для доступных выходных данных. |
| Receive<TOutput>(ISourceBlock<TOutput>, CancellationToken) |
Синхронно получает значение из указанного источника и предоставляет маркер для отмены операции. |
| Receive<TOutput>(ISourceBlock<TOutput>, TimeSpan, CancellationToken) |
Синхронно получает значение из указанного источника, предоставляя маркер для отмены операции и наблюдая за необязательным интервалом времени ожидания. |
| Receive<TOutput>(ISourceBlock<TOutput>, TimeSpan) |
Синхронно получает значение из указанного источника, наблюдая за необязательным периодом ожидания. |
| Receive<TOutput>(ISourceBlock<TOutput>) |
Синхронно получает значение из указанного источника. |
| ReceiveAsync<TOutput>(ISourceBlock<TOutput>, CancellationToken) |
Асинхронно получает значение из указанного источника и предоставляет маркер для отмены операции. |
| ReceiveAsync<TOutput>(ISourceBlock<TOutput>, TimeSpan, CancellationToken) |
Асинхронно получает значение из указанного источника, предоставляя маркер для отмены операции и наблюдая необязательный интервал времени ожидания. |
| ReceiveAsync<TOutput>(ISourceBlock<TOutput>, TimeSpan) |
Асинхронно получает значение из указанного источника, наблюдая за необязательным периодом ожидания. |
| ReceiveAsync<TOutput>(ISourceBlock<TOutput>) |
Асинхронно получает значение из указанного источника. |
| TryReceive<TOutput>(IReceivableSourceBlock<TOutput>, TOutput) |
Пытается синхронно получить элемент из элемента ISourceBlock<TOutput>. |