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>
Реализации

Комментарии

Примечание

Библиотека потоков данных 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.

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

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

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

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

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

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

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

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

Инициализирует новый экземпляр класса TransformBlock<TInput,TOutput> с указанными Func<T,TResult> и 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>.

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