IPropagatorBlock<TInput,TOutput> Gränssnitt

Definition

Representerar ett dataflödesblock som både är ett mål för data och en datakälla.

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)

Typparametrar

TInput

Anger vilken typ av data som godkänns av IPropagatorBlock<TInput,TOutput>.

Det här är en contravariant-typparameter. Det innebär att du kan använda antingen den typ du angett eller en typ som inte är lika härledd. Mer information om kovarians och kontravarians finns i Kovarians och kontravarians i Generisk typ.
TOutput

Anger vilken typ av data som tillhandahålls av IPropagatorBlock<TInput,TOutput>.

Det här är en covariant-typparameter. Det innebär att du kan använda antingen den typ du angett eller en typ som är mer härledd. Mer information om kovarians och kontravarians finns i Kovarians och kontravarians i Generisk typ.
Härledda
Implementeringar

Kommentarer

Note

TPL-dataflödesbiblioteket (System.Threading.Tasks.Dataflow-namnområdet) distribueras inte med .NET. Om du vill installera System.Threading.Tasks.Dataflow-namnområdet i Visual Studio öppnar du projektet, väljer Hantera NuGet-paket från menyn Project och söker online efter System.Threading.Tasks.Dataflow-paketet. Alternativt, för att installera det med hjälp av .NET Core CLI, kör dotnet add package System.Threading.Tasks.Dataflow.

Egenskaper

Name Description
Completion

Hämtar en Task som representerar den asynkrona åtgärden och slutförandet av dataflödesblocket.

(Ärvd från IDataflowBlock)

Metoder

Name Description
Complete()

Signaler till att den IDataflowBlock inte bör acceptera eller producera fler meddelanden eller förbruka fler uppskjutna meddelanden.

(Ärvd från IDataflowBlock)
ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean)

Anropas av en länkad ITargetBlock<TInput> för att acceptera och använda en DataflowMessageHeader tidigare erbjuden av denna ISourceBlock<TOutput>.

(Ärvd från ISourceBlock<TOutput>)
Fault(Exception)

Gör att den IDataflowBlock slutförs i ett Faulted tillstånd.

(Ärvd från IDataflowBlock)
LinkTo(ITargetBlock<TOutput>, DataflowLinkOptions)

ISourceBlock<TOutput> Länkar till angiven ITargetBlock<TInput>.

(Ärvd från ISourceBlock<TOutput>)
OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean)

Erbjuder ett meddelande till ITargetBlock<TInput>, vilket ger målet möjlighet att använda eller skjuta upp meddelandet.

(Ärvd från ITargetBlock<TInput>)
ReleaseReservation(DataflowMessageHeader, ITargetBlock<TOutput>)

Anropas av en länkad ITargetBlock<TInput> för att släppa en tidigare reserverad DataflowMessageHeader av denna ISourceBlock<TOutput>.

(Ärvd från ISourceBlock<TOutput>)
ReserveMessage(DataflowMessageHeader, ITargetBlock<TOutput>)

Anropas av en länkad ITargetBlock<TInput> till reservera en tidigare erbjuden DataflowMessageHeader av denna ISourceBlock<TOutput>.

(Ärvd från ISourceBlock<TOutput>)

Tilläggsmetoder

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

Skapar en ny IObservable<T> abstraktion över ISourceBlock<TOutput>.

AsObserver<TInput>(ITargetBlock<TInput>)

Skapar en ny IObserver<T> abstraktion över ITargetBlock<TInput>.

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

ISourceBlock<TOutput> Länkar till det angivna ITargetBlock<TInput> med det angivna filtret.

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

ISourceBlock<TOutput> Länkar till det angivna ITargetBlock<TInput> med det angivna filtret.

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

ISourceBlock<TOutput> Länkar till angiven ITargetBlock<TInput>.

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

Tillhandahåller en Task<TResult> som asynkront övervakar källan för tillgängliga utdata.

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

Tillhandahåller en Task<TResult> som asynkront övervakar källan för tillgängliga utdata.

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

Publicerar ett objekt i ITargetBlock<TInput>.

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

Tar synkront emot ett värde från en angiven källa och tillhandahåller en token för att avbryta åtgärden.

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

Tar synkront emot ett värde från en angiven källa, vilket ger en token för att avbryta åtgärden och observerar ett valfritt tidsgränsintervall.

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

Tar synkront emot ett värde från en angiven källa och observerar en valfri tidsgräns.

Receive<TOutput>(ISourceBlock<TOutput>)

Tar synkront emot ett värde från en angiven källa.

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

Tar asynkront emot ett värde från en angiven källa och tillhandahåller en token för att avbryta åtgärden.

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

Asynkront tar emot ett värde från en angiven källa, vilket ger en token för att avbryta åtgärden och observera ett valfritt tidsgränsintervall.

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

Tar asynkront emot ett värde från en angiven källa och observerar en valfri tidsgräns.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

Tar asynkront emot ett värde från en angiven källa.

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

Asynkront erbjuder ett meddelande till målmeddelandeblocket, vilket möjliggör senareläggning.

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

Asynkront erbjuder ett meddelande till målmeddelandeblocket, vilket möjliggör senareläggning.

Gäller för