IPropagatorBlock<TInput,TOutput> Interfejs

Definicja

Reprezentuje blok przepływu danych, który jest obiektem docelowym danych i źródłem danych.

generic <typename TInput, typename TOutput>
public interface class IPropagatorBlock : System::Threading::Tasks::Dataflow::ISourceBlock<TOutput>, System::Threading::Tasks::Dataflow::ITargetBlock<TInput>
public interface IPropagatorBlock<in TInput,out TOutput> : System.Threading.Tasks.Dataflow.ISourceBlock<out TOutput>, System.Threading.Tasks.Dataflow.ITargetBlock<in TInput>
type IPropagatorBlock<'Input, 'Output> = interface
    interface ITargetBlock<'Input>
    interface IDataflowBlock
    interface ISourceBlock<'Output>
type IPropagatorBlock<'Input, 'Output> = interface
    interface IDataflowBlock
    interface ISourceBlock<'Output>
    interface ITargetBlock<'Input>
Public Interface IPropagatorBlock(Of In TInput, Out TOutput)
Implements ISourceBlock(Of Out TOutput), ITargetBlock(Of In TInput)

Parametry typu

TInput

Określa typ danych akceptowanych przez element IPropagatorBlock<TInput,TOutput>.

Ten parametr typu jest kontrawariantny. Oznacza to, że możesz użyć typu, który został przez Ciebie określony, lub dowolnego typu, który jest mniej pochodny. Aby uzyskać więcej informacji o kowariancji i kontrawariancji, zobacz Kowariancja i kontrawariancja w typach ogólnych.
TOutput

Określa typ danych dostarczonych przez element IPropagatorBlock<TInput,TOutput>.

Ten parametr typu jest kowariantny. Oznacza to, że możesz użyć typu, który został przez Ciebie określony, lub dowolnego typu, który jest bardziej pochodny. Aby uzyskać więcej informacji o kowariancji i kontrawariancji, zobacz Kowariancja i kontrawariancja w typach ogólnych.
Pochodne
Implementuje

Uwagi

Uwaga

Biblioteka przepływu danych TPL ( System.Threading.Tasks.Dataflow przestrzeń nazw) nie jest dystrybuowana z platformą .NET. Aby zainstalować System.Threading.Tasks.Dataflow przestrzeń nazw w programie Visual Studio, Otwórz projekt, wybierz pozycję Zarządzaj pakietami NuGet z menu projekt i Wyszukaj w trybie online System.Threading.Tasks.Dataflow pakiet. Alternatywnie, aby zainstalować go przy użyciu interfejs wiersza polecenia platformy .NET Core, uruchom polecenie dotnet add package System.Threading.Tasks.Dataflow .

Właściwości

Completion

Pobiera element reprezentujący operację Task asynchroniczną i ukończenie bloku przepływu danych.

(Odziedziczone po IDataflowBlock)

Metody

Complete()

Sygnały do IDataflowBlock tego, że nie powinny akceptować ani tworzyć więcej komunikatów, ani nie zużywać żadnych bardziej odroczonych komunikatów.

(Odziedziczone po IDataflowBlock)
ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean)

Wywołana przez element połączony ITargetBlock<TInput> w celu zaakceptowania i korzystania z elementu oferowanego wcześniej przez tę ISourceBlock<TOutput>usługę DataflowMessageHeader .

(Odziedziczone po ISourceBlock<TOutput>)
Fault(Exception)

IDataflowBlock Powoduje ukończenie Faulted operacji w stanie.

(Odziedziczone po IDataflowBlock)
LinkTo(ITargetBlock<TOutput>, DataflowLinkOptions)

Tworzy łącze ISourceBlock<TOutput> do określonego ITargetBlock<TInput>elementu .

(Odziedziczone po ISourceBlock<TOutput>)
OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean)

Oferuje komunikat do ITargetBlock<TInput>obiektu , dając docelową możliwość korzystania lub odroczenia wiadomości.

(Odziedziczone po ITargetBlock<TInput>)
ReleaseReservation(DataflowMessageHeader, ITargetBlock<TOutput>)

Wywoływane przez element połączony ITargetBlock<TInput> z wydaniem wcześniej zarezerwowanego DataflowMessageHeader przez ten ISourceBlock<TOutput>element .

(Odziedziczone po ISourceBlock<TOutput>)
ReserveMessage(DataflowMessageHeader, ITargetBlock<TOutput>)

Wywoływana przez element połączonyITargetBlock<TInput>, aby zarezerwować wcześniej oferowaną przez tę ISourceBlock<TOutput>usługę DataflowMessageHeader .

(Odziedziczone po ISourceBlock<TOutput>)

Metody rozszerzania

AsObservable<TOutput>(ISourceBlock<TOutput>)

Tworzy nową IObservable<T> abstrakcję dla elementu ISourceBlock<TOutput>.

AsObserver<TInput>(ITargetBlock<TInput>)

Tworzy nową IObserver<T> abstrakcję dla elementu ITargetBlock<TInput>.

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

Tworzy łącze ISourceBlock<TOutput> do określonego ITargetBlock<TInput>elementu .

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

Łączy element z ISourceBlock<TOutput> określonym ITargetBlock<TInput> filtrem przy użyciu określonego filtru.

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

Łączy element z ISourceBlock<TOutput> określonym ITargetBlock<TInput> filtrem przy użyciu określonego filtru.

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

Task<TResult> Zapewnia asynchroniczne monitorowanie źródła pod kątem dostępnych danych wyjściowych.

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

Task<TResult> Zapewnia asynchroniczne monitorowanie źródła pod kątem dostępnych danych wyjściowych.

Post<TInput>(ITargetBlock<TInput>, TInput)

Publikuje element w elemencie ITargetBlock<TInput>.

Receive<TOutput>(ISourceBlock<TOutput>)

Synchronicznie odbiera wartość z określonego źródła.

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

Synchronicznie odbiera wartość z określonego źródła i udostępnia token umożliwiający anulowanie operacji.

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

Synchronicznie odbiera wartość z określonego źródła, obserwując opcjonalny okres limitu czasu.

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

Synchronicznie odbiera wartość z określonego źródła, zapewniając token umożliwiający anulowanie operacji i obserwowanie opcjonalnego interwału limitu czasu.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

Asynchronicznie odbiera wartość z określonego źródła.

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

Asynchronicznie odbiera wartość z określonego źródła i udostępnia token umożliwiający anulowanie operacji.

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

Asynchronicznie odbiera wartość z określonego źródła, obserwując opcjonalny limit czasu.

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

Asynchronicznie odbiera wartość z określonego źródła, zapewniając token umożliwiający anulowanie operacji i obserwowanie opcjonalnego interwału limitu czasu.

SendAsync<TInput>(ITargetBlock<TInput>, TInput)

Asynchronicznie oferuje komunikat do docelowego bloku komunikatów, co pozwala na odroczenie.

SendAsync<TInput>(ITargetBlock<TInput>, TInput, CancellationToken)

Asynchronicznie oferuje komunikat do docelowego bloku komunikatów, co pozwala na odroczenie.

Dotyczy