Condividi tramite


TransformBlock<TInput,TOutput> Classe

Definizione

Fornisce un blocco del flusso di dati che richiama un delegato fornito da Func<T,TResult> per ogni elemento dati ricevuto.

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)

Parametri di tipo

TInput

Specifica il tipo di dati ricevuti ed elaborati da TransformBlock<TInput,TOutput>.

TOutput

Specifica il tipo di output dei dati da questo TransformBlock<TInput,TOutput>oggetto .

Ereditarietà
TransformBlock<TInput,TOutput>
Implementazioni

Commenti

Nota

La libreria del flusso di dati TPL (spazio dei nomi System.Threading.Tasks.Dataflow) non viene distribuita con .NET. Per installare lo spazio dei nomi System.Threading.Tasks.Dataflow in Visual Studio, aprire il progetto in Visual Studio, scegliere Gestisci pacchetti NuGet dal menu Progetto ed eseguire una ricerca online del pacchetto System.Threading.Tasks.Dataflow. In alternativa, per installarlo usando l'interfaccia della riga di comando di .NET Core, eseguire dotnet add package System.Threading.Tasks.Dataflow.

Costruttori

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

Inizializza un nuovo oggetto TransformBlock<TInput,TOutput> con il Func<T,TResult> specificato.

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

Inizializza un nuovo elemento TransformBlock<TInput,TOutput> con gli elementi Func<T,TResult> e ExecutionDataflowBlockOptions specificati.

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

Inizializza un nuovo elemento TransformBlock<TInput,TOutput> con l'elemento Func<T,TResult> specificato.

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

Inizializza un nuovo elemento TransformBlock<TInput,TOutput> con gli elementi Func<T,TResult> e ExecutionDataflowBlockOptions specificati.

Proprietà

Completion

Ottiene un Task che rappresenta l'operazione asincrona e il completamento del blocco di flussi di dati.

InputCount

Ottiene il numero di elementi di input in attesa di essere elaborati da questo blocco.

OutputCount

Ottiene il numero di elemento di output disponibili alla ricezione da questo blocco.

Metodi

Complete()

Segnala al IDataflowBlock che non deve accettare o produrre altri messaggi e non deve utilizzare altri messaggi posticipati.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
LinkTo(ITargetBlock<TOutput>, DataflowLinkOptions)

Collega l'elemento ISourceBlock<TOutput> all'elemento ITargetBlock<TInput> specificato.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta il nome formattato di questa istanza IDataflowBlock.

TryReceive(Predicate<TOutput>, TOutput)

Tenta di ricevere in modo sincrono un elemento di output disponibile da IReceivableSourceBlock<TOutput>.

TryReceiveAll(IList<TOutput>)

Tenta di ricevere in modo sincrono tutti gli elementi disponibili dal IReceivableSourceBlock<TOutput>.

Implementazioni dell'interfaccia esplicita

IDataflowBlock.Fault(Exception)

Determina il completamento di IDataflowBlock nello stato Faulted.

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

Chiamato da un ITargetBlock<TInput> collegato per accettare e utilizzare DataflowMessageHeader precedentemente offerto da questo ISourceBlock<TOutput>.

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

Chiamato da un elemento ITargetBlock<TInput> collegato per rilasciare un DataflowMessageHeader precedentemente riservato da questo elemento ISourceBlock<TOutput>.

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

Chiamato da un elemento ITargetBlock<TInput> collegato per riservare un DataflowMessageHeader offerto in precedenza da questo elemento ISourceBlock<TOutput>.

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

Offre un messaggio al ITargetBlock<TInput> e fornisce alla destinazione la possibilità di utilizzare o posticipare il messaggio.

Metodi di estensione

AsObservable<TOutput>(ISourceBlock<TOutput>)

Crea una nuova astrazione IObservable<T> rispetto a ISourceBlock<TOutput>.

AsObserver<TInput>(ITargetBlock<TInput>)

Crea una nuova astrazione IObserver<T> rispetto a ITargetBlock<TInput>.

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

Collega l'elemento ISourceBlock<TOutput> all'elemento ITargetBlock<TInput> specificato.

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

Collega l'elemento ISourceBlock<TOutput> all'elemento ITargetBlock<TInput> specificato usando il filtro impostato.

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

Collega l'elemento ISourceBlock<TOutput> all'elemento ITargetBlock<TInput> specificato usando il filtro impostato.

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

Fornisce un oggetto Task<TResult> che monitora in modo asincrono l'origine per l'output disponibile.

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

Specifica un elemento Task<TResult> che monitora in modo asincrono l'origine per l'output disponibile.

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

Inserisce un elemento nell'oggetto ITargetBlock<TInput>.

Receive<TOutput>(ISourceBlock<TOutput>)

Riceve un valore in modo sincrono da un'origine specificata.

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

Riceve in modo sincrono un valore da un'origine specificata e fornisce un token per annullare l'operazione.

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

Riceve in modo sincrono un valore da un'origine specificata, osservando un periodo di timeout facoltativo.

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

Riceve in modo sincrono un valore da un'origine specificata, fornendo un token per annullare l'operazione e osservando un intervallo di timeout facoltativo.

ReceiveAllAsync<TOutput>(IReceivableSourceBlock<TOutput>, CancellationToken)

Crea un oggetto IAsyncEnumerable<T> che consente di ricevere tutti i dati dall'origine.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

Riceve un valore in modo asincrono da un'origine specificata.

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

Riceve in modo asincrono un valore da un'origine specificata e fornisce un token per annullare l'operazione.

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

Riceve in modo asincrono un valore da un'origine specificata, osservando un periodo di timeout facoltativo.

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

Riceve in modo asincrono un valore da un'origine specificata, fornendo un token per annullare l'operazione e osservando un intervallo di timeout facoltativo.

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

In modo asincrono offre un messaggio al blocco di messaggi di destinazione, consentendo il rinvio.

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

In modo asincrono offre un messaggio al blocco di messaggi di destinazione, consentendo il rinvio.

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

Tenta di ricevere in modo sincrono un elemento da ISourceBlock<TOutput>.

Si applica a