IPropagatorBlock<TInput,TOutput> Interfész

Definíció

Olyan adatfolyamblokkot jelöl, amely az adatok és az adatforrások célhelye is.

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)

Típusparaméterek

TInput

Megadja, hogy a rendszer milyen típusú adatokat fogad el.IPropagatorBlock<TInput,TOutput>

Ez a típusparaméter kontravariancia típusú. Ez azt jelenti, hogy a megadott típust vagy egy kevésbé származtatott bármilyen típust is használhat. A kovarianciáról és a kontravarianciáról a Kovariancia és a kontravariancia az általánosításban című cikket.
TOutput

A megadott adattípust adja meg.IPropagatorBlock<TInput,TOutput>

Ez a típusparaméter kovariáns típusú. Ez azt jelenti, hogy a megadott típust vagy egy nagyobb mértékben származtatott bármilyen típust is használhat. A kovarianciáról és a kontravarianciáról a Kovariancia és a kontravariancia az általánosításban című cikket.
Származtatott
Megvalósítás

Megjegyzések

Note

A TPL-adatfolyamtár (a System.Threading.Tasks.Dataflow névtér) nincs elosztva a .NET-tel. Ha telepíteni szeretné a System.Threading.Tasks.Dataflow névteret a Visual Studióban, nyissa meg a projektet, válassza NuGet-csomagok kezelése a Project menüjében, és keressen online a System.Threading.Tasks.Dataflow csomagra. Másik lehetőségként a .NET Core CLI használatával telepítheti, futtassa a dotnet add package System.Threading.Tasks.Dataflow.

Tulajdonságok

Name Description
Completion

Task Lekéri az adatfolyam-blokk aszinkron műveletét és befejezését ábrázoló értéket.

(Öröklődés forrása IDataflowBlock)

Metódusok

Name Description
Complete()

Azt jelzi IDataflowBlock , hogy nem fogadhat el és nem hozhat létre több üzenetet, és nem használ fel több elhalasztott üzenetet.

(Öröklődés forrása IDataflowBlock)
ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean)

Egy hivatkozott meghívjaITargetBlock<TInput>, hogy elfogadja és felhasználja DataflowMessageHeader a korábban kínált.ISourceBlock<TOutput>

(Öröklődés forrása ISourceBlock<TOutput>)
Fault(Exception)

IDataflowBlock A befejezést egy állapotban Faulted okozza.

(Öröklődés forrása IDataflowBlock)
LinkTo(ITargetBlock<TOutput>, DataflowLinkOptions)

A megadotthoz csatolja a ISourceBlock<TOutput> elemet ITargetBlock<TInput>.

(Öröklődés forrása ISourceBlock<TOutput>)
OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean)

Üzenetet küld a ITargetBlock<TInput>címzettnek, amely lehetőséget ad a célnak az üzenet felhasználására vagy elhalasztására.

(Öröklődés forrása ITargetBlock<TInput>)
ReleaseReservation(DataflowMessageHeader, ITargetBlock<TOutput>)

A program meghívja egy, a korábban fenntartott ITargetBlock<TInput>DataflowMessageHeaderkiadás kiadásához csatolt hivatkozássalISourceBlock<TOutput>.

(Öröklődés forrása ISourceBlock<TOutput>)
ReserveMessage(DataflowMessageHeader, ITargetBlock<TOutput>)

A program meghívja a korábban a jelen szolgáltatás által kínált ITargetBlock<TInput> foglaláshoz kapcsolódó hivatkozással.DataflowMessageHeaderISourceBlock<TOutput>

(Öröklődés forrása ISourceBlock<TOutput>)

Bővítő metódusok

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

Új IObservable<T> absztrakciót hoz létre a ISourceBlock<TOutput>.

AsObserver<TInput>(ITargetBlock<TInput>)

Új IObserver<T> absztrakciót hoz létre a ITargetBlock<TInput>.

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

A megadott szűrővel csatolja a ISourceBlock<TOutput> megadotthoz ITargetBlock<TInput> .

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

A megadott szűrővel csatolja a ISourceBlock<TOutput> megadotthoz ITargetBlock<TInput> .

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

A megadotthoz csatolja a ISourceBlock<TOutput> elemet ITargetBlock<TInput>.

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

Task<TResult> A rendelkezésre álló kimenet forrását aszinkron módon figyeli.

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

Task<TResult> A rendelkezésre álló kimenet forrását aszinkron módon figyeli.

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

Elem bejegyzése a következőre: .>

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

Szinkron módon kap egy értéket egy megadott forrástól, és egy jogkivonatot biztosít a művelet megszakításához.

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

Szinkron módon kap egy értéket egy megadott forrástól, amely egy jogkivonatot biztosít a művelet megszakításához és egy opcionális időtúllépési időköz megfigyeléséhez.

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

Szinkron módon kap egy értéket egy megadott forrástól, figyelembe véve az opcionális időtúllépési időszakot.

Receive<TOutput>(ISourceBlock<TOutput>)

Szinkron módon kap egy értéket egy megadott forrásból.

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

Aszinkron módon kap egy értéket egy megadott forrástól, és egy jogkivonatot biztosít a művelet megszakításához.

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

Aszinkron módon kap egy értéket egy megadott forrástól, amely jogkivonatot biztosít a művelet megszakításához és egy opcionális időtúllépési időköz megfigyeléséhez.

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

Aszinkron módon kap egy értéket egy megadott forrástól, egy opcionális időtúllépési időszakot figyelve.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

Aszinkron módon egy adott forrásból kap értéket.

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

Aszinkron módon üzenetet küld a célüzenetblokknak, ami lehetővé teszi a halasztást.

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

Aszinkron módon üzenetet küld a célüzenetblokknak, ami lehetővé teszi a halasztást.

A következőre érvényes: