JoinBlock<T1,T2> Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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
-
IDataflowBlock IReceivableSourceBlock<Tuple<T1,T2>> ISourceBlock<Tuple<T1,T2>> ISourceBlock<TOutput>
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>. |