TransformManyBlock<TInput,TOutput> Classe

Definizione

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

generic <typename TInput, typename TOutput>
public ref class TransformManyBlock 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 TransformManyBlock<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 TransformManyBlock<'Input, 'Output> = class
    interface IPropagatorBlock<'Input, 'Output>
    interface ITargetBlock<'Input>
    interface IDataflowBlock
    interface ISourceBlock<'Output>
    interface IReceivableSourceBlock<'Output>
Public NotInheritable Class TransformManyBlock(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 e gestiti da questo TransformManyBlock<TInput,TOutput>oggetto .

TOutput

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

Ereditarietà
TransformManyBlock<TInput,TOutput>
Implementazioni

Commenti

Annotazioni

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, scegliere Gestisci pacchetti NuGet dal menu Project e cercare online il 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

Nome Descrizione
TransformManyBlock<TInput,TOutput>(Func<TInput,IEnumerable<TOutput>>, ExecutionDataflowBlockOptions)

Inizializza un nuovo TransformManyBlock<TInput,TOutput> oggetto con la funzione specificata e ExecutionDataflowBlockOptions.

TransformManyBlock<TInput,TOutput>(Func<TInput,IEnumerable<TOutput>>)

Inizializza un nuovo TransformManyBlock<TInput,TOutput> oggetto con la funzione specificata.

TransformManyBlock<TInput,TOutput>(Func<TInput,Task<IEnumerable<TOutput>>>, ExecutionDataflowBlockOptions)

Inizializza un nuovo TransformManyBlock<TInput,TOutput> oggetto con la funzione specificata e ExecutionDataflowBlockOptions.

TransformManyBlock<TInput,TOutput>(Func<TInput,Task<IEnumerable<TOutput>>>)

Inizializza un nuovo TransformManyBlock<TInput,TOutput> oggetto con la funzione specificata.

Proprietà

Nome Descrizione
Completion

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

InputCount

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

OutputCount

Ottiene il numero di elementi di output disponibili da ricevere da questo blocco.

Metodi

Nome Descrizione
Complete()

Segnala all'oggetto IDataflowBlock che non deve accettare né produrre altri messaggi né 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 il Type dell'istanza corrente.

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

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

MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
ToString()

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

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 da IReceivableSourceBlock<TOutput>.

Implementazioni dell'interfaccia esplicita

Nome Descrizione
IDataflowBlock.Fault(Exception)

Fa sì che l'oggetto IDataflowBlock venga completato in uno Faulted stato.

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

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

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

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

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

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

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

Offre un messaggio all'oggetto ITargetBlock<TInput>, offrendo alla destinazione la possibilità di utilizzare o posticipare il messaggio.

Metodi di estensione

Nome Descrizione
AsObservable<TOutput>(ISourceBlock<TOutput>)

Crea una nuova IObservable<T> astrazione su ISourceBlock<TOutput>.

AsObserver<TInput>(ITargetBlock<TInput>)

Crea una nuova IObserver<T> astrazione su ITargetBlock<TInput>.

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

Collega l'oggetto ISourceBlock<TOutput> all'oggetto specificato ITargetBlock<TInput> utilizzando il filtro specificato.

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

Collega l'oggetto ISourceBlock<TOutput> all'oggetto specificato ITargetBlock<TInput> utilizzando il filtro specificato.

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

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

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

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

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

Fornisce un oggetto 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>, CancellationToken)

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

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.

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

Riceve in modo sincrono un valore 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, 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.

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

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

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

Offre in modo asincrono un messaggio al blocco di messaggi di destinazione, consentendo il posticipo.

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

Offre in modo asincrono un messaggio al blocco di messaggi di destinazione, consentendo il posticipo.

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

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

Si applica a