TransformBlock<TInput,TOutput> Класс

Определение

Предоставляет блок потока данных, который вызывает предоставленный делегат Func<T,TResult> для каждого полученного элемента данных.Provides a dataflow block that invokes a provided Func<T,TResult> delegate for every data element received.

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>.Specifies the type of data received and operated on by this TransformBlock<TInput,TOutput>.

TOutput

Указывает тип выходных данных TransformBlock<TInput,TOutput> .Specifies the type of data output by this TransformBlock<TInput,TOutput>.

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

Комментарии

Примечание

Библиотека потоков данных TPL (пространство имен System.Threading.Tasks.Dataflow) не поставляется с .NET.The TPL Dataflow Library (the System.Threading.Tasks.Dataflow namespace) is not distributed with .NET. Чтобы установить пространство имен System.Threading.Tasks.Dataflow в Visual Studio, откройте проект, выберите Управление пакетами NuGet в меню Проект и выполните поиск пакета System.Threading.Tasks.Dataflow в Интернете.To install the System.Threading.Tasks.Dataflow namespace in Visual Studio, open your project, choose Manage NuGet Packages from the Project menu, and search online for the System.Threading.Tasks.Dataflow package. Вы также можете установить его, выполнив в .NET Core CLI команду dotnet add package System.Threading.Tasks.Dataflow.Alternatively, to install it using the .NET Core CLI, run dotnet add package System.Threading.Tasks.Dataflow.

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

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

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

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

Инициализирует новый экземпляр класса TransformBlock<TInput,TOutput> с указанными Func<T,TResult> и ExecutionDataflowBlockOptions.Initializes a new TransformBlock<TInput,TOutput> with the specified Func<T,TResult> and ExecutionDataflowBlockOptions.

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

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

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

Инициализирует новый экземпляр класса TransformBlock<TInput,TOutput> с указанными Func<T,TResult> и ExecutionDataflowBlockOptions.Initializes a new TransformBlock<TInput,TOutput> with the specified Func<T,TResult> and ExecutionDataflowBlockOptions.

Свойства

Completion

Получает объект Task, представляющий асинхронную операцию и завершение блока потока данных.Gets a Task that represents the asynchronous operation and completion of the dataflow block.

InputCount

Получает количество входных элементов, ожидающих обработки этим блоком.Gets the number of input items waiting to be processed by this block.

OutputCount

Получает число выходных элементов, доступных для получения из этого блока.Gets the number of output items available to be received from this block.

Методы

Complete()

Сообщает блоку IDataflowBlock, что он больше не должен принимать и создавать никакие сообщения и не должен использовать отложенные сообщения.Signals to the IDataflowBlock that it should not accept nor produce any more messages nor consume any more postponed messages.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object.

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

Служит хэш-функцией по умолчанию.Serves as the default hash function.

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

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

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

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

MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

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

Возвращает строку, представляющую отформатированное имя данного экземпляра IDataflowBlock.Returns a string that represents the formatted name of this IDataflowBlock instance.

TryReceive(Predicate<TOutput>, TOutput)

Пытается синхронно получить доступный выходной элемент от интерфейса IReceivableSourceBlock<TOutput>.Attempts to synchronously receive an available output item from the IReceivableSourceBlock<TOutput>.

TryReceiveAll(IList<TOutput>)

Пытается синхронно получить все доступные элементы от интерфейса IReceivableSourceBlock<TOutput>.Attempts to synchronously receive all available items from the IReceivableSourceBlock<TOutput>.

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

IDataflowBlock.Fault(Exception)

Вызывает завершение блока IDataflowBlock в состоянии Faulted.Causes the IDataflowBlock to complete in a Faulted state.

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

Вызывается связанным объектом ITargetBlock<TInput> для принятия и использования объекта DataflowMessageHeader, ранее предложенного этим объектом ISourceBlock<TOutput>.Called by a linked ITargetBlock<TInput> to accept and consume a DataflowMessageHeader previously offered by this ISourceBlock<TOutput>.

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

Вызывается связанным объектом ITargetBlock<TInput> для освобождения объекта DataflowMessageHeader, ранее зарезервированного этим объектом ISourceBlock<TOutput>.Called by a linked ITargetBlock<TInput> to release a previously reserved DataflowMessageHeader by this ISourceBlock<TOutput>.

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

Вызывается связанным объектом ITargetBlock<TInput> для резервирования объекта DataflowMessageHeader, ранее предложенного этим объектом ISourceBlock<TOutput>.Called by a linked ITargetBlock<TInput> to reserve a previously offered DataflowMessageHeader by this ISourceBlock<TOutput>.

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

Предлагает сообщение блоку ITargetBlock<TInput>, предоставляя целевому объекту возможность использовать или отложить его.Offers a message to the ITargetBlock<TInput>, giving the target the opportunity to consume or postpone the message.

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

AsObservable<TOutput>(ISourceBlock<TOutput>)

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

AsObserver<TInput>(ITargetBlock<TInput>)

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

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

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

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

Связывает ISourceBlock<TOutput> с указанным ITargetBlock<TInput>, используя указанный фильтр.Links the ISourceBlock<TOutput> to the specified ITargetBlock<TInput> using the specified filter.

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

Связывает ISourceBlock<TOutput> с указанным ITargetBlock<TInput>, используя указанный фильтр.Links the ISourceBlock<TOutput> to the specified ITargetBlock<TInput> using the specified filter.

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

Предоставляет Task<TResult>, которое асинхронным образом выполняет мониторинг источника доступного вывода.Provides a Task<TResult> that asynchronously monitors the source for available output.

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

Предоставляет Task<TResult>, которое асинхронным образом выполняет мониторинг источника доступного вывода.Provides a Task<TResult> that asynchronously monitors the source for available output.

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

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

Receive<TOutput>(ISourceBlock<TOutput>)

Синхронно получает значение от указанного источника.Synchronously receives a value from a specified source.

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

Синхронно получает значение из указанного источника и предоставляет токен для отмены операции.Synchronously receives a value from a specified source and provides a token to cancel the operation.

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

Синхронно получает значение из указанного источника, отслеживание необязательно точкой времени ожидания.Synchronously receives a value from a specified source, observing an optional time-out period.

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

Синхронно получает значение из указанного источника, обеспечивая токен для отмены операции за необязательным и интервал времени ожидания.Synchronously receives a value from a specified source, providing a token to cancel the operation and observing an optional time-out interval.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

Асинхронно получает значение от указанного источника.Asynchronously receives a value from a specified source.

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

Асинхронно получает значение из указанного источника и предоставляет токен для отмены операции.Asynchronously receives a value from a specified source and provides a token to cancel the operation.

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

Асинхронно получает значение из указанного источника, отслеживание необязательно точкой времени ожидания.Asynchronously receives a value from a specified source, observing an optional time-out period.

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

Асинхронно получает значение из указанного источника, обеспечивая токен для отмены операции за необязательным и интервал времени ожидания.Asynchronously receives a value from a specified source, providing a token to cancel the operation and observing an optional time-out interval.

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

Асинхронно предлагает сообщение в целевому блоку сообщений, позволяет задержки.Asynchronously offers a message to the target message block, allowing for postponement.

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

Асинхронно предлагает сообщение в целевому блоку сообщений, позволяет задержки.Asynchronously offers a message to the target message block, allowing for postponement.

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

Пытается синхронно получить элемент из ISourceBlock<TOutput>.Attempts to synchronously receive an item from the ISourceBlock<TOutput>.

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