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>
Реализации

Комментарии

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>.

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