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
type JoinBlock<'T1, 'T2> = class
interface IDataflowBlock
interface IReceivableSourceBlock<'T1 * 'T2>
interface ISourceBlock<'T1 * 'T2>
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>
Комментарии
Примечание
Библиотека потоков данных 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>() |
Инициализирует новый объект 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) |
Передает владение сообщением, идентифицируемым DataflowMessageHeader, из этого экземпляра ISourceBlock<TOutput> в ITargetBlock<TInput>. |
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>) |
Связывает 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>. |