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>. |