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>. |
Явные реализации интерфейса
Методы расширения
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>. |