TransformBlock<TInput,TOutput> Classe

Definição

Fornece um bloco de fluxo de dados que invoca um delegado fornecido Func<T,TResult> para cada elemento de dados recebido.

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>
Public NotInheritable Class TransformBlock(Of TInput, TOutput)
Implements IPropagatorBlock(Of TInput, TOutput), IReceivableSourceBlock(Of TOutput), ISourceBlock(Of TOutput), ITargetBlock(Of TInput)

Parâmetros de Tipo Genérico

TInput

Especifica o tipo de dados recebidos e operados por este TransformBlock<TInput,TOutput>.

TOutput

Especifica o tipo de dados de saída por este TransformBlock<TInput,TOutput>.

Herança
TransformBlock<TInput,TOutput>
Implementações

Observações

Note

A biblioteca de fluxo de dados TPL (o namespace System.Threading.Tasks.Dataflow) não é distribuída com o .NET. Para instalar o namespace System.Threading.Tasks.Dataflow no Visual Studio, abra o seu projeto, escolha Gerir Pacotes NuGet no menu Projeto e pesquise o pacote System.Threading.Tasks.Dataflow online. Como alternativa, para instalá-lo usando a CLI do .NET Core, execute dotnet add package System.Threading.Tasks.Dataflow.

Construtores

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

Inicializa um novo TransformBlock<TInput,TOutput> com o especificado Func<T,TResult> e ExecutionDataflowBlockOptions.

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

Inicializa um novo TransformBlock<TInput,TOutput> com o especificado Func<T,TResult>.

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

Inicializa um novo TransformBlock<TInput,TOutput> com o especificado Func<T,TResult> e ExecutionDataflowBlockOptions.

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

Inicializa um novo TransformBlock<TInput,TOutput> com o especificado Func<T,TResult>.

Propriedades

Name Description
Completion

Obtém-se a Task que representa a operação assíncrona e a conclusão do bloco de fluxo de dados.

InputCount

Obtém o número de itens de entrada à espera de serem processados por este bloco.

OutputCount

Obtém o número de itens de saída disponíveis para serem recebidos deste bloco.

Métodos

Name Description
Complete()

Sinais para o IDataflowBlock grupo de que não deve aceitar nem produzir mais mensagens nem consumir mais mensagens adiadas.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
LinkTo(ITargetBlock<TOutput>, DataflowLinkOptions)

Liga o ISourceBlock<TOutput> ao especificado ITargetBlock<TInput> .

MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve uma cadeia que representa o nome formatado desta IDataflowBlock instância.

TryReceive(Predicate<TOutput>, TOutput)

Tentativas de receber síncronicamente um item de saída disponível do IReceivableSourceBlock<TOutput>.

TryReceiveAll(IList<TOutput>)

Tentativas de receber síncronicamente todos os itens disponíveis do IReceivableSourceBlock<TOutput>.

Implementações de Interface Explícita

Name Description
IDataflowBlock.Fault(Exception)

Faz com que a IDataflowBlock conclua num Faulted estado.

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

Chamado por um link ITargetBlock<TInput> para aceitar e consumir um DataflowMessageHeader anteriormente oferecido por este ISourceBlock<TOutput>.

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

Chamado por um link ITargetBlock<TInput> para libertar um anteriormente reservado DataflowMessageHeader por este ISourceBlock<TOutput>.

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

Chamado por um ligado ITargetBlock<TInput> para reservar um já oferecido DataflowMessageHeader por isto ISourceBlock<TOutput>.

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

Oferece uma mensagem ao ITargetBlock<TInput>, dando ao alvo a oportunidade de consumir ou adiar a mensagem.

Métodos da Extensão

Name Description
AsObservable<TOutput>(ISourceBlock<TOutput>)

Cria uma nova IObservable<T> abstração sobre o ISourceBlock<TOutput>.

AsObserver<TInput>(ITargetBlock<TInput>)

Cria uma nova IObserver<T> abstração sobre o ITargetBlock<TInput>.

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

Liga o ISourceBlock<TOutput> ao especificado ITargetBlock<TInput> usando o filtro especificado.

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

Liga o ISourceBlock<TOutput> ao especificado ITargetBlock<TInput> usando o filtro especificado.

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

Liga o ISourceBlock<TOutput> ao especificado ITargetBlock<TInput>.

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

Fornece um Task<TResult> que monitoriza assíncronamente a fonte para a saída disponível.

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

Fornece um Task<TResult> que monitoriza assíncronamente a fonte para a saída disponível.

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

Publica um item no ITargetBlock<TInput>arquivo .

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

O Synchroniously recebe um valor de uma fonte especificada e fornece um token para cancelar a operação.

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

Synchronally recebe um valor de uma fonte especificada, fornecendo um token para cancelar a operação e observando um intervalo opcional de time-out.

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

Sincronizadamente recebe um valor de uma fonte especificada, observando um período opcional de time-out.

Receive<TOutput>(ISourceBlock<TOutput>)

Recebe síncronicamente um valor de uma fonte especificada.

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

De forma assíncrona, recebe um valor de uma fonte especificada e fornece um token para cancelar a operação.

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

De forma assíncrona, recebe um valor de uma fonte especificada, fornecendo um token para cancelar a operação e observando um intervalo opcional de time-out.

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

De forma assíncrona, recebe um valor de uma fonte especificada, observando um período opcional de time-out.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

De forma assíncrona, recebe um valor de uma fonte especificada.

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

Assíncrono, oferece uma mensagem ao bloco de mensagens alvo, permitindo adiamento.

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

Assíncrono, oferece uma mensagem ao bloco de mensagens alvo, permitindo adiamento.

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

Tentativas de receber síncronicamente um item do ISourceBlock<TOutput>.

Aplica-se a