TransformManyBlock<TInput,TOutput> Класс

Определение

Предоставляет блок потока данных, который вызывает предоставленный делегат Func<T,TResult> для каждого полученного элемента данных.

generic <typename TInput, typename TOutput>
public ref class TransformManyBlock sealed : System::Threading::Tasks::Dataflow::IPropagatorBlock<TInput, TOutput>, System::Threading::Tasks::Dataflow::IReceivableSourceBlock<TOutput>, System::Threading::Tasks::Dataflow::ISourceBlock<TOutput>, System::Threading::Tasks::Dataflow::ITargetBlock<TInput>
public sealed class TransformManyBlock<TInput,TOutput> : System.Threading.Tasks.Dataflow.IPropagatorBlock<TInput,TOutput>, System.Threading.Tasks.Dataflow.IReceivableSourceBlock<TOutput>, System.Threading.Tasks.Dataflow.ISourceBlock<TOutput>, System.Threading.Tasks.Dataflow.ITargetBlock<TInput>
type TransformManyBlock<'Input, 'Output> = class
    interface IPropagatorBlock<'Input, 'Output>
    interface ITargetBlock<'Input>
    interface IDataflowBlock
    interface ISourceBlock<'Output>
    interface IReceivableSourceBlock<'Output>
type TransformManyBlock<'Input, 'Output> = class
    interface IDataflowBlock
    interface IPropagatorBlock<'Input, 'Output>
    interface ISourceBlock<'Output>
    interface ITargetBlock<'Input>
    interface IReceivableSourceBlock<'Output>
Public NotInheritable Class TransformManyBlock(Of TInput, TOutput)
Implements IPropagatorBlock(Of TInput, TOutput), IReceivableSourceBlock(Of TOutput), ISourceBlock(Of TOutput), ITargetBlock(Of TInput)

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

TInput

Указывает тип данных, получаемых и используемых этим TransformManyBlock<TInput,TOutput>.

TOutput

Определяет тип вывода данных с помощью этого TransformManyBlock<TInput,TOutput>.

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

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

TransformManyBlock<TInput,TOutput>(Func<TInput,IAsyncEnumerable<TOutput>>)

Инициализирует TransformManyBlock<TInput,TOutput> с помощью указанной функции.

TransformManyBlock<TInput,TOutput>(Func<TInput,IAsyncEnumerable<TOutput>>, ExecutionDataflowBlockOptions)

Инициализирует с TransformManyBlock<TInput,TOutput> помощью указанной функции и ExecutionDataflowBlockOptions.

TransformManyBlock<TInput,TOutput>(Func<TInput,IEnumerable<TOutput>>)

Инициализирует новую задачу TransformManyBlock<TInput,TOutput> с указанной функцией.

TransformManyBlock<TInput,TOutput>(Func<TInput,IEnumerable<TOutput>>, ExecutionDataflowBlockOptions)

Инициализирует новый экземпляр класса TransformManyBlock<TInput,TOutput> с указанной функцией и ExecutionDataflowBlockOptions.

TransformManyBlock<TInput,TOutput>(Func<TInput,Task<IEnumerable<TOutput>>>)

Инициализирует новую задачу TransformManyBlock<TInput,TOutput> с указанной функцией.

TransformManyBlock<TInput,TOutput>(Func<TInput,Task<IEnumerable<TOutput>>>, ExecutionDataflowBlockOptions)

Инициализирует новый экземпляр класса TransformManyBlock<TInput,TOutput> с указанной функцией и ExecutionDataflowBlockOptions.

Свойства

Completion

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

InputCount

Получает количество входных элементов, ожидающих обработки этим блоком.

OutputCount

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

Методы

Complete()

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

Equals(Object)

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

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

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

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

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

(Унаследовано от Object)
LinkTo(ITargetBlock<TOutput>, DataflowLinkOptions)

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

MemberwiseClone()

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

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

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

TryReceive(Predicate<TOutput>, TOutput)

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

TryReceiveAll(IList<TOutput>)

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

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

IDataflowBlock.Fault(Exception)

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

ISourceBlock<TOutput>.ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean)

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

ISourceBlock<TOutput>.ReleaseReservation(DataflowMessageHeader, ITargetBlock<TOutput>)

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

ISourceBlock<TOutput>.ReserveMessage(DataflowMessageHeader, ITargetBlock<TOutput>)

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

ITargetBlock<TInput>.OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean)

Предлагает сообщение блоку ITargetBlock<TInput>, предоставляя целевому объекту возможность использовать или отложить его.

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

AsObservable<TOutput>(ISourceBlock<TOutput>)

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

AsObserver<TInput>(ITargetBlock<TInput>)

Создает новую абстракцию IObserver<T> для ITargetBlock<TInput>.

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>, которое асинхронным образом выполняет мониторинг источника доступного вывода.

Post<TInput>(ITargetBlock<TInput>, TInput)

Отправляет элемент в объект ITargetBlock<TInput>.

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)

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

SendAsync<TInput>(ITargetBlock<TInput>, TInput)

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

SendAsync<TInput>(ITargetBlock<TInput>, TInput, CancellationToken)

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

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

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

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