Sdílet prostřednictvím


JoinBlock<T1,T2,T3> Třída

Definice

Poskytuje blok toku dat, který spojuje více zdrojů toku dat, které nemusí nutně mít stejný typ, a čeká na doručení jedné položky pro každý typ předtím, než budou všechny uvolněny společně jako řazená kolekce členů, která obsahuje jednu položku na typ.

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

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.

T3

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

Dědičnost
JoinBlock<T1,T2,T3>
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,T3>()

Inicializuje nový JoinBlock<T1,T2,T3>.

JoinBlock<T1,T2,T3>(GroupingDataflowBlockOptions)

Inicializuje nový JoinBlock<T1,T2,T3>.

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ý se může 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.

Target3

Získá cíl, který se může použít k nabízení zpráv třetího typu.

Metody

Complete()

Signály pro IDataflowBlock to, že by neměla 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,T3>>, DataflowLinkOptions)

Pro propojení zdrojového bloku se zadaným cílovým blokem.

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

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

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

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

Explicitní implementace rozhraní

IDataflowBlock.Fault(Exception)

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

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

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

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

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

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

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

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