TransformBlock<TInput,TOutput> Класс

Определение

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

generic <typename TInput, typename TOutput>
public ref class TransformBlock 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 TransformBlock<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 TransformBlock<'Input, 'Output> = class
    interface IPropagatorBlock<'Input, 'Output>
    interface ITargetBlock<'Input>
    interface IDataflowBlock
    interface ISourceBlock<'Output>
    interface IReceivableSourceBlock<'Output>
type TransformBlock<'Input, 'Output> = class
    interface IDataflowBlock
    interface IPropagatorBlock<'Input, 'Output>
    interface ISourceBlock<'Output>
    interface ITargetBlock<'Input>
    interface IReceivableSourceBlock<'Output>
Public NotInheritable Class TransformBlock(Of TInput, TOutput)
Implements IPropagatorBlock(Of TInput, TOutput), IReceivableSourceBlock(Of TOutput), ISourceBlock(Of TOutput), ITargetBlock(Of TInput)

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

TInput

Указывает тип полученных и управляемых данными.TransformBlock<TInput,TOutput>

TOutput

Указывает тип выходных данных по этому TransformBlock<TInput,TOutput>параметру.

Наследование
TransformBlock<TInput,TOutput>
Реализации

Комментарии

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.

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

Имя Описание
TransformBlock<TInput,TOutput>(Func<TInput,Task<TOutput>>, ExecutionDataflowBlockOptions)

Инициализирует новый TransformBlock<TInput,TOutput> с указанным Func<T,TResult> и ExecutionDataflowBlockOptions.

TransformBlock<TInput,TOutput>(Func<TInput,Task<TOutput>>)

Инициализирует новый TransformBlock<TInput,TOutput> с указанным Func<T,TResult>.

TransformBlock<TInput,TOutput>(Func<TInput,TOutput>, ExecutionDataflowBlockOptions)

Инициализирует новый TransformBlock<TInput,TOutput> с указанным Func<T,TResult> и ExecutionDataflowBlockOptions.

TransformBlock<TInput,TOutput>(Func<TInput,TOutput>)

Инициализирует новый TransformBlock<TInput,TOutput> с указанным Func<T,TResult>.

Свойства

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

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

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

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

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

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

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

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

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

Receive<TOutput>(ISourceBlock<TOutput>)

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

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

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

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

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

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

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

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

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

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

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

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

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

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

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

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

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

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