Sdílet prostřednictvím


JoinBlock<T1,T2> Třída

Definice

Poskytuje blok toku dat, který spojuje více zdrojů toku dat, ne nutně stejného typu, a čeká na doručení jedné položky pro každý typ předtím, než se všechny uvolní společně jako řazená kolekce členů skládající se z jedné položky na typ.

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

Parametry typu

T1

Určuje typ dat přijatých prvním cílem bloku.

T2

Určuje typ dat přijatých druhým cílem bloku.

Dědičnost
JoinBlock<T1,T2>
Implementuje

Poznámky

Poznámka

Knihovna TPL Dataflow ( System.Threading.Tasks.Dataflow obor názvů) není distribuována s rozhraním .NET. Chcete-li System.Threading.Tasks.Dataflow v aplikaci Visual Studio nainstalovat obor názvů, otevřete projekt, v nabídce projekt vyberte možnost Spravovat balíčky NuGet a vyhledejte balíček online System.Threading.Tasks.Dataflow . Případně ho můžete nainstalovat pomocí .NET Core CLIspuštěním dotnet add package System.Threading.Tasks.Dataflow .

Konstruktory

JoinBlock<T1,T2>()

Inicializuje nový JoinBlock<T1,T2>.

JoinBlock<T1,T2>(GroupingDataflowBlockOptions)

Inicializuje nový JoinBlock<T1,T2>.

Vlastnosti

Completion

Task Získá, který představuje asynchronní operaci a dokončení bloku toku dat.

OutputCount

Získá počet výstupních položek, které mají být přijaty z tohoto bloku.

Target1

Získá cíl, který může být použit k nabízení zpráv prvního typu.

Target2

Získá cíl, který lze použít k nabízení zpráv druhého typu.

Metody

Complete()

IDataflowBlock Signalizuje, že by neměl přijímat ani vytvářet žádné další zprávy ani využívat žádné odložené zprávy.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Type Získá aktuální instanci.

(Zděděno od Object)
LinkTo(ITargetBlock<Tuple<T1,T2>>, DataflowLinkOptions)

ISourceBlock<TOutput> Odkazuje na zadané ITargetBlock<TInput> .

MemberwiseClone()

Vytvoří použádnou kopii aktuálního souboru Object.

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje formátovaný název této IDataflowBlock instance.

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

Pokusí se synchronně přijmout dostupnou výstupní položku z .IReceivableSourceBlock<TOutput>

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

Pokusy o synchronní příjem všech dostupných položek z .IReceivableSourceBlock<TOutput>

Explicitní implementace rozhraní

IDataflowBlock.Fault(Exception)

Způsobí, že IDataflowBlock se dokončí ve Faulted stavu.

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

Předá vlastnictví zprávy identifikované DataflowMessageHeader z této ISourceBlock<TOutput> instance do ITargetBlock<TInput>.

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

Uvolní právo předat vlastnictví zprávy identifikované DataflowMessageHeader z této ISourceBlock<TOutput> zprávy do ITargetBlock<TInput>.

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

Vyhrazuje si právo předat vlastnictví zprávy identifikované DataflowMessageHeader ISourceBlock<TOutput> touto zprávou ITargetBlock<TInput>na .

Metody rozšíření

AsObservable<TOutput>(ISourceBlock<TOutput>)

Vytvoří novou IObservable<T> abstrakci nad .ISourceBlock<TOutput>

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

ISourceBlock<TOutput> Odkazuje na zadané ITargetBlock<TInput>.

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

ISourceBlock<TOutput> Odkazuje na zadaný ITargetBlock<TInput> filtr.

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

ISourceBlock<TOutput> Odkazuje na zadaný ITargetBlock<TInput> filtr.

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

Task<TResult> Poskytuje, že asynchronně monitoruje zdroj pro dostupný výstup.

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

Task<TResult> Poskytuje, že asynchronně monitoruje zdroj pro dostupný výstup.

Receive<TOutput>(ISourceBlock<TOutput>)

Synchronně přijímá hodnotu ze zadaného zdroje.

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

Synchronně přijímá hodnotu ze zadaného zdroje a poskytuje token pro zrušení operace.

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

Synchronně přijímá hodnotu ze zadaného zdroje a sleduje volitelnou dobu časového limitu.

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

Synchronně přijímá hodnotu ze zadaného zdroje a poskytuje token pro zrušení operace a sledování volitelného intervalu časového limitu.

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

Vytvoří objekt IAsyncEnumerable<T> , který umožňuje přijímat všechna data ze zdroje.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

Asynchronně přijímá hodnotu ze zadaného zdroje.

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

Asynchronně přijímá hodnotu ze zadaného zdroje a poskytuje token pro zrušení operace.

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

Asynchronně přijímá hodnotu ze zadaného zdroje a sleduje volitelnou dobu časového limitu.

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

Asynchronně přijímá hodnotu ze zadaného zdroje a poskytuje token pro zrušení operace a sledování volitelného intervalu časového limitu.

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

Pokusí se synchronně přijmout položku z objektu ISourceBlock<TOutput>.

Platí pro