Поделиться через


JoinBlock<T1,T2,T3> Класс

Определение

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

generic <typename T1, typename T2, typename T3>
public ref class JoinBlock sealed : System::Threading::Tasks::Dataflow::IReceivableSourceBlock<Tuple<T1, T2, T3> ^>, System::Threading::Tasks::Dataflow::ISourceBlock<Tuple<T1, T2, T3> ^>
public sealed class JoinBlock<T1,T2,T3> : System.Threading.Tasks.Dataflow.IReceivableSourceBlock<Tuple<T1,T2,T3>>, System.Threading.Tasks.Dataflow.ISourceBlock<Tuple<T1,T2,T3>>
type JoinBlock<'T1, 'T2, 'T3> = class
    interface IReceivableSourceBlock<'T1 * 'T2 * 'T3>
    interface ISourceBlock<'T1 * 'T2 * 'T3>
    interface IDataflowBlock
type JoinBlock<'T1, 'T2, 'T3> = class
    interface IDataflowBlock
    interface IReceivableSourceBlock<'T1 * 'T2 * 'T3>
    interface ISourceBlock<'T1 * 'T2 * 'T3>
Public NotInheritable Class JoinBlock(Of T1, T2, T3)
Implements IReceivableSourceBlock(Of Tuple(Of T1, T2, T3)), ISourceBlock(Of Tuple(Of T1, T2, T3))

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

T1

Указывает тип данных, принимаемых первым целевым объектом блока.

T2

Указывает тип данных, принимаемых вторым целевым объектом блока.

T3

Указывает тип данных, принимаемых третьим целевым объектом блока.

Наследование
JoinBlock<T1,T2,T3>
Реализации

Комментарии

Примечание

Библиотека потоков данных TPL (пространство имен System.Threading.Tasks.Dataflow) не поставляется с .NET. Чтобы установить пространство имен System.Threading.Tasks.Dataflow в Visual Studio, откройте проект, выберите Управление пакетами NuGet в меню Проект и выполните поиск пакета System.Threading.Tasks.Dataflow в Интернете. Вы также можете установить его, выполнив в .NET Core CLI команду dotnet add package System.Threading.Tasks.Dataflow.

Конструкторы

JoinBlock<T1,T2,T3>()

Инициализирует новый объект JoinBlock<T1,T2,T3>.

JoinBlock<T1,T2,T3>(GroupingDataflowBlockOptions)

Инициализирует новый объект JoinBlock<T1,T2,T3>.

Свойства

Completion

Получает объект Task, представляющий асинхронную операцию и завершение блока потока данных.

OutputCount

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

Target1

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

Target2

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

Target3

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

Методы

Complete()

Сообщает блоку IDataflowBlock, что он больше не должен принимать и создавать никакие сообщения и не должен использовать отложенные сообщения.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
LinkTo(ITargetBlock<Tuple<T1,T2,T3>>, DataflowLinkOptions)

Связывает исходный блок с указанным целевым блоком.

MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую отформатированное имя данного экземпляра IDataflowBlock.

TryReceive(Predicate<Tuple<T1,T2,T3>>, Tuple<T1,T2,T3>)

Пытается синхронно получить доступный выходной элемент от интерфейса IReceivableSourceBlock<TOutput>.

TryReceiveAll(IList<Tuple<T1,T2,T3>>)

Пытается синхронно получить все доступные элементы от интерфейса IReceivableSourceBlock<TOutput>.

Явные реализации интерфейса

IDataflowBlock.Fault(Exception)

Вызывает выполнение IDataflowBlock в состоянии Faulted.

ISourceBlock<Tuple<T1,T2,T3>>.ConsumeMessage(DataflowMessageHeader, ITargetBlock<Tuple<T1,T2,T3>>, Boolean)

Передает владение сообщением, определяемым классом , DataflowMessageHeader из этого ISourceBlock<TOutput> экземпляра в ITargetBlock<TInput>.

ISourceBlock<Tuple<T1,T2,T3>>.ReleaseReservation(DataflowMessageHeader, ITargetBlock<Tuple<T1,T2,T3>>)

Передает право владения сообщением, идентифицируемым DataflowMessageHeader, из ISourceBlock<TOutput> в ITargetBlock<TInput>.

ISourceBlock<Tuple<T1,T2,T3>>.ReserveMessage(DataflowMessageHeader, ITargetBlock<Tuple<T1,T2,T3>>)

Резервирует право владения сообщением, идентифицируемым DataflowMessageHeader, из ISourceBlock<TOutput> в ITargetBlock<TInput>.

Методы расширения

AsObservable<TOutput>(ISourceBlock<TOutput>)

Создает новую абстракцию IObservable<T> для ISourceBlock<TOutput>.

LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>)

Связывает объект ISourceBlock<TOutput> с указанным ITargetBlock<TInput>объектом .

LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>, Predicate<TOutput>)

Связывает с ISourceBlock<TOutput> указанным ITargetBlock<TInput> с помощью указанного фильтра.

LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>, DataflowLinkOptions, Predicate<TOutput>)

Связывает с ISourceBlock<TOutput> указанным ITargetBlock<TInput> с помощью указанного фильтра.

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

Предоставляет Task<TResult>, которое асинхронным образом выполняет мониторинг источника доступного вывода.

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>, CancellationToken)

Предоставляет Task<TResult>, которое асинхронным образом выполняет мониторинг источника доступного вывода.

Receive<TOutput>(ISourceBlock<TOutput>)

Синхронно получает значение от указанного источника.

Receive<TOutput>(ISourceBlock<TOutput>, CancellationToken)

Синхронно получает значение из указанного источника и предоставляет токен для отмены операции.

Receive<TOutput>(ISourceBlock<TOutput>, TimeSpan)

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

Receive<TOutput>(ISourceBlock<TOutput>, TimeSpan, CancellationToken)

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

ReceiveAllAsync<TOutput>(IReceivableSourceBlock<TOutput>, CancellationToken)

Создает объект , IAsyncEnumerable<T> который позволяет получать все данные из источника.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

Асинхронно получает значение от указанного источника.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>, CancellationToken)

Асинхронно получает значение из указанного источника и предоставляет токен для отмены операции.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>, TimeSpan)

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

ReceiveAsync<TOutput>(ISourceBlock<TOutput>, TimeSpan, CancellationToken)

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

TryReceive<TOutput>(IReceivableSourceBlock<TOutput>, TOutput)

Пытается синхронно получить элемент из ISourceBlock<TOutput>.

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