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

Note

Knihovna toku dat TPL (jmenný prostor System.Threading.Tasks.Dataflow) není distribuována s .NET. Pokud chcete nainstalovat obor názvů System.Threading.Tasks.Dataflow v sadě Visual Studio, otevřete projekt, zvolte v nabídce Projekt možnost Spravovat balíčky NuGet a balíček System.Threading.Tasks.Dataflow vyhledejte online. Případně ji můžete nainstalovat pomocí rozhraní příkazového řádku .NET Core, spusťte dotnet add package System.Threading.Tasks.Dataflow.

Konstruktory

Name Description
JoinBlock<T1,T2>()

Inicializuje nový JoinBlock<T1,T2>.

JoinBlock<T1,T2>(GroupingDataflowBlockOptions)

Inicializuje nový JoinBlock<T1,T2>.

Vlastnosti

Name Description
Completion

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

OutputCount

Získá počet výstupních položek, které lze přijímat z tohoto bloku.

Target1

Získá cíl, který lze použít 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

Name Description
Complete()

Signály pro IDataflowBlock to, ž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čuje, zda je zadaný objekt roven aktuálnímu objektu.

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

Slouží jako výchozí funkce hash.

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

Získá Type aktuální instance.

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

Odkazuje na ISourceBlock<TOutput> zadanou ITargetBlock<TInput> .

MemberwiseClone()

Vytvoří mělkou kopii aktuálního 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 objektu IReceivableSourceBlock<TOutput>.

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

Pokusí se synchronně přijmout všechny dostupné položky z objektu IReceivableSourceBlock<TOutput>.

Explicitní implementace rozhraní

Name Description
IDataflowBlock.Fault(Exception)

Způsobí, že se IDataflowBlock 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 objektu 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 ITargetBlock<TInput>do .

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

Vyhrazuje si právo předat vlastnictví zprávy identifikované DataflowMessageHeader tímto ISourceBlock<TOutput> uživatelem ITargetBlock<TInput>.

Metody rozšíření

Name Description
AsObservable<TOutput>(ISourceBlock<TOutput>)

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

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

Pro propojení se ISourceBlock<TOutput> zadaným ITargetBlock<TInput> filtrem.

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

Pro propojení se ISourceBlock<TOutput> zadaným ITargetBlock<TInput> filtrem.

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

Odkazuje na ISourceBlock<TOutput> zadanou ITargetBlock<TInput>.

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

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

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

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

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

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

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

Receive<TOutput>(ISourceBlock<TOutput>)

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

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

Vytvoří objekt IAsyncEnumerable<T> , který umožňuje přijímat všechna data ze 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, 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.

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

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

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

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

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

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

Platí pro