Condividi tramite


JoinBlock<T1,T2> Classe

Definizione

Specifica un blocco del flusso di dati che esegue il join in più origini del flusso di dati, non necessariamente dello stesso tipo, in attesa dell'arrivo di un elemento per ogni tipo, prima che tutti vengano rilasciati insieme come una tupla costituita da un elemento per tipo.

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

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.

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

JoinBlock<T1,T2>()

Inizializza un nuovo oggetto JoinBlock<T1,T2>.

JoinBlock<T1,T2>(GroupingDataflowBlockOptions)

Inizializza un nuovo oggetto JoinBlock<T1,T2>.

Proprietà

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.

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

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

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

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<T1,T2>>.ConsumeMessage(DataflowMessageHeader, ITargetBlock<Tuple<T1,T2>>, Boolean)

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

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

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

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

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'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.

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.

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

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

Si applica a