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

Определение

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

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

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

T1

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

T2

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

T3

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

Наследование
BatchedJoinBlock<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.

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

BatchedJoinBlock<T1,T2,T3>(Int32)

Инициализирует новый экземпляр класса BatchedJoinBlock<T1,T2,T3> с указанной конфигурацией.

BatchedJoinBlock<T1,T2,T3>(Int32, GroupingDataflowBlockOptions)

Инициализирует новый экземпляр класса BatchedJoinBlock<T1,T2,T3> с указанной конфигурацией.

Свойства

BatchSize

Получает размер пакетов, созданных данным BatchedJoinBlock<T1,T2,T3>.

Completion

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

OutputCount

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

Target1

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

Target2

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

Target3

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

Методы

Complete()

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

Equals(Object)

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

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

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

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

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

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

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

MemberwiseClone()

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

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

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

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

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

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

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

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

IDataflowBlock.Fault(Exception)

Вызывает завершение блока IDataflowBlock в состоянии Faulted.

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

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

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

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

ISourceBlock<Tuple<IList<T1>,IList<T2>,IList<T3>>>.ReserveMessage(DataflowMessageHeader, ITargetBlock<Tuple<IList<T1>,IList<T2>,IList<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>.

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