Condividi tramite


BatchedJoinBlock<T1,T2,T3> Classe

Definizione

Fornisce un blocco di flusso di dati che raggruppa in batch un numero specificato di input di tipi potenzialmente diversi forniti a una o più destinazioni.

generic <typename T1, typename T2, typename T3>
public ref class BatchedJoinBlock sealed : System::Threading::Tasks::Dataflow::IReceivableSourceBlock<Tuple<System::Collections::Generic::IList<T1> ^, System::Collections::Generic::IList<T2> ^, System::Collections::Generic::IList<T3> ^> ^>, System::Threading::Tasks::Dataflow::ISourceBlock<Tuple<System::Collections::Generic::IList<T1> ^, System::Collections::Generic::IList<T2> ^, System::Collections::Generic::IList<T3> ^> ^>
public sealed class BatchedJoinBlock<T1,T2,T3> : System.Threading.Tasks.Dataflow.IReceivableSourceBlock<Tuple<System.Collections.Generic.IList<T1>,System.Collections.Generic.IList<T2>,System.Collections.Generic.IList<T3>>>, System.Threading.Tasks.Dataflow.ISourceBlock<Tuple<System.Collections.Generic.IList<T1>,System.Collections.Generic.IList<T2>,System.Collections.Generic.IList<T3>>>
type BatchedJoinBlock<'T1, 'T2, 'T3> = class
    interface IReceivableSourceBlock<IList<'T1> * IList<'T2> * IList<'T3>>
    interface ISourceBlock<IList<'T1> * IList<'T2> * IList<'T3>>
    interface IDataflowBlock
type BatchedJoinBlock<'T1, 'T2, 'T3> = class
    interface IDataflowBlock
    interface IReceivableSourceBlock<IList<'T1> * IList<'T2> * IList<'T3>>
    interface ISourceBlock<IList<'T1> * IList<'T2> * IList<'T3>>
Public NotInheritable Class BatchedJoinBlock(Of T1, T2, T3)
Implements IReceivableSourceBlock(Of Tuple(Of IList(Of T1), IList(Of T2), IList(Of T3))), ISourceBlock(Of Tuple(Of IList(Of T1), IList(Of T2), IList(Of T3)))

Parametri di tipo

T1

Specifica il tipo di dati accettati dalla prima destinazione del blocco.

T2

Specifica il tipo di dati accettati dalla seconda destinazione del blocco.

T3

Specifica il tipo di dati accettati dalla terza destinazione del blocco.

Ereditarietà
BatchedJoinBlock<T1,T2,T3>
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

BatchedJoinBlock<T1,T2,T3>(Int32)

Inizializza una nuova istanza di BatchedJoinBlock<T1,T2,T3> con la configurazione specificata.

BatchedJoinBlock<T1,T2,T3>(Int32, GroupingDataflowBlockOptions)

Inizializza una nuova istanza di BatchedJoinBlock<T1,T2,T3> con la configurazione specificata.

Proprietà

BatchSize

Ottiene la dimensione dei batch generati da questo BatchedJoinBlock<T1,T2,T3>.

Completion

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

OutputCount

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

Target1

Ottiene una destinazione che può essere utilizzata per offrire messaggi del primo tipo.

Target2

Ottiene una destinazione che può essere utilizzata per offrire messaggi del secondo tipo.

Target3

Ottiene una destinazione che può essere utilizzata per offrire messaggi del terzo tipo.

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<Tuple<IList<T1>,IList<T2>,IList<T3>>>, DataflowLinkOptions)

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

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<Tuple<IList<T1>,IList<T2>,IList<T3>>>, Tuple<IList<T1>,IList<T2>,IList<T3>>)

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

TryReceiveAll(IList<Tuple<IList<T1>,IList<T2>,IList<T3>>>)

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 in uno stato di Faulted .

ISourceBlock<Tuple<IList<T1>,IList<T2>,IList<T3>>>.ConsumeMessage(DataflowMessageHeader, ITargetBlock<Tuple<IList<T1>,IList<T2>,IList<T3>>>, Boolean)

Passa la proprietà del messaggio identificato dall'oggetto DataflowMessageHeader da questa ISourceBlock<TOutput> istanza a ITargetBlock<TInput>.

ISourceBlock<Tuple<IList<T1>,IList<T2>,IList<T3>>>.ReleaseReservation(DataflowMessageHeader, ITargetBlock<Tuple<IList<T1>,IList<T2>,IList<T3>>>)

Rilascia il diritto di passare la proprietà del messaggio identificato da DataflowMessageHeader da questa istanza di ISourceBlock<TOutput> a ITargetBlock<TInput>.

ISourceBlock<Tuple<IList<T1>,IList<T2>,IList<T3>>>.ReserveMessage(DataflowMessageHeader, ITargetBlock<Tuple<IList<T1>,IList<T2>,IList<T3>>>)

Riserva il diritto di passare la proprietà del messaggio identificato da DataflowMessageHeader da questa istanza di ISourceBlock<TOutput> a ITargetBlock<TInput>.

Metodi di estensione

AsObservable<TOutput>(ISourceBlock<TOutput>)

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

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

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

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>, DataflowLinkOptions, Predicate<TOutput>)

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

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)

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

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 la ricezione di 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.

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

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

Si applica a