Freigeben über


JoinBlock<T1,T2,T3> Klasse

Definition

Stellt einen Datenflussblock bereit, der sich über mehrere Datenflussquellen erstreckt, die nicht unbedingt desselben Typs sind. Der Datenflussblock wartet auf ein ankommendes Element für jeden Typ, bevor sie alle zusammen als Tupel freigegeben werden, das ein Element pro Typ enthält.

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

Typparameter

T1

Gibt den Typ der Daten an, die vom ersten Ziel des Blocks akzeptiert werden.

T2

Gibt den Typ der Daten an, die vom zweiten Ziel des Blocks akzeptiert werden.

T3

Gibt den Typ der Daten an, die vom dritten Ziel des Blocks akzeptiert werden.

Vererbung
JoinBlock<T1,T2,T3>
Implementiert

Hinweise

Hinweis

Die TPL-Datenflussbibliothek (System.Threading.Tasks.Dataflow-Namespace) wird nicht mit .NET ausgeliefert. Öffnen Sie zum Installieren des System.Threading.Tasks.Dataflow-Namespace in Visual Studio Ihr Projekt, wählen Sie im Menü Projekt die Option NuGet-Pakete verwalten aus, und suchen Sie online nach dem System.Threading.Tasks.Dataflow-Paket. Alternativ können Sie es mithilfe der .NET Core-CLI installieren und dazu dotnet add package System.Threading.Tasks.Dataflow ausführen.

Konstruktoren

JoinBlock<T1,T2,T3>()

Initialisiert eine neue JoinBlock<T1,T2,T3>.

JoinBlock<T1,T2,T3>(GroupingDataflowBlockOptions)

Initialisiert eine neue JoinBlock<T1,T2,T3>.

Eigenschaften

Completion

Ruft ein Task ab, das den asynchronen Vorgang und die Beendigung des Datenflussblocks darstellt.

OutputCount

Ruft die Anzahl der Ausgabe-Elementen ab, die von diesem Block empfangen werden können.

Target1

Ruft ein Ziel ab, das verwendet werden kann, um Meldungen des ersten Typs anzubieten.

Target2

Ruft ein Ziel ab, das verwendet werden kann, um Meldungen des zweiten Typs anzubieten.

Target3

Ruft ein Ziel ab, das verwendet werden kann, um Meldungen des dritten Typs anzubieten.

Methoden

Complete()

Signalisiert IDataflowBlock, dass es keine Nachrichten mehr akzeptieren und keine produzieren und keine weiteren zurückgestellten Nachrichten verarbeiten soll.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
LinkTo(ITargetBlock<Tuple<T1,T2,T3>>, DataflowLinkOptions)

Verknüpft den Quellblock mit dem angegebenen Zielblock.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die den formatierten Namen dieser IDataflowBlock-Instanz darstellt.

TryReceive(Predicate<Tuple<T1,T2,T3>>, Tuple<T1,T2,T3>)

Versucht, ein verfügbares Output-Element vonIReceivableSourceBlock<TOutput> synchron zu empfangen.

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

Versucht, alle verfügbaren Elemente aus IReceivableSourceBlock<TOutput> synchron zu empfangen.

Explizite Schnittstellenimplementierungen

IDataflowBlock.Fault(Exception)

Bewirkt, IDataflowBlock in einem Faulted Zustand auszuführen.

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

Übergibt den Besitz der von dieser Instanz identifizierten DataflowMessageHeader Nachricht an die ITargetBlock<TInput>.ISourceBlock<TOutput>

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

Übergibt das Recht, den Besitz der durch die DataflowMessageHeader-Struktur identifizierten Nachricht von dieser ISourceBlock<TOutput> an die ITargetBlock<TInput>-Schnittstelle zu übergeben

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

Behält sich das Recht vor, den Besitz der durch die DataflowMessageHeader-Struktur identifizierten Nachricht von dieser ISourceBlock<TOutput> an die ITargetBlock<TInput>-Schnittstelle zu übergeben

Erweiterungsmethoden

AsObservable<TOutput>(ISourceBlock<TOutput>)

Erstellt eine neue IObservable<T> Abstraktion über ISourceBlock<TOutput>.

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

Verknüpft das ISourceBlock<TOutput> mit dem angegebenen ITargetBlock<TInput>.

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

Verknüpft das ISourceBlock<TOutput> mit dem angegebenen ITargetBlock<TInput> Filter.

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

Verknüpft das ISourceBlock<TOutput> mit dem angegebenen ITargetBlock<TInput> Filter.

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

Stellt eine Task<TResult> bereit, die asynchron die Quelle für verfügbare Ausgabe überwacht.

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

Stellt eine Task<TResult> bereit, die asynchron die Quelle für verfügbare Ausgabe überwacht.

Receive<TOutput>(ISourceBlock<TOutput>)

Empfängt synchron einen Wert aus der angegebenen Quelle.

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

Erhält synchron einen Wert aus einer angegebenen Quelle und stellt ein Token bereit, um die Operation abzubrechen.

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

Empfängt synchron einen Wert aus einer angegebenen Quelle und beachtet ein optionales Timeout.

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

Empfängt synchron einen Wert aus einer angegebenen Quelle, stellt ein Token bereit, um den Vorgang abzubrechen und beachtet ein optionales Timeoutintervall.

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

Erstellt eine IAsyncEnumerable<T> , die den Empfang aller Daten aus der Quelle ermöglicht.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

Empfängt asynchron einen Wert aus der angegebenen Quelle.

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

Erhält asynchron einen Wert aus einer angegebenen Quelle und stellt ein Token bereit, um die Operation abzubrechen.

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

Empfängt asynchron einen Wert aus einer angegebenen Quelle und beachtet ein optionales Timeout.

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

Empfängt asynchron einen Wert aus einer angegebenen Quelle, stellt ein Token bereit, um den Vorgang abzubrechen und beachtet ein optionales Timeoutintervall.

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

Versucht, ein Element von ISourceBlock<TOutput> synchron zu empfangen.

Gilt für: