IPropagatorBlock<TInput,TOutput> Antarmuka

Definisi

Mewakili blok aliran data yang merupakan target untuk data dan sumber data.

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)

Jenis parameter

TInput

Menentukan jenis data yang diterima oleh IPropagatorBlock<TInput,TOutput>.

Parameter jenis ini bersifat kontravarian. Artinya, Anda bisa menggunakan jenis yang Anda tentukan atau jenis apa pun yang tidak banyak diturunkan. Untuk informasi lebih lanjut tentang kovariansi dan kontravariansi, lihat Kovariansi dan Kontravariansi dalam Generik.
TOutput

Menentukan jenis data yang disediakan oleh IPropagatorBlock<TInput,TOutput>.

Parameter jenis ini bersifat kovarian. Artinya, Anda bisa menggunakan jenis yang Anda tentukan atau jenis apa pun yang lebih banyak diturunkan. Untuk informasi lebih lanjut tentang kovariansi dan kontravariansi, lihat Kovariansi dan Kontravariansi dalam Generik.
Turunan
Penerapan

Keterangan

Note

Pustaka Aliran Data TPL (namespace System.Threading.Tasks.Dataflow) tidak didistribusikan dengan .NET. Untuk menginstal namespace System.Threading.Tasks.Dataflow di Visual Studio, buka proyek Anda, pilih Kelola Paket NuGet dari menu Project, dan cari paket System.Threading.Tasks.Dataflow secara online. Atau, untuk menginstalnya menggunakan .NET Core CLI , jalankan dotnet add package System.Threading.Tasks.Dataflow.

Properti

Nama Deskripsi
Completion

Task Mendapatkan yang mewakili operasi asinkron dan penyelesaian blok aliran data.

(Diperoleh dari IDataflowBlock)

Metode

Nama Deskripsi
Complete()

Sinyal kepada IDataflowBlock bahwa ia tidak boleh menerima atau menghasilkan pesan lagi atau mengonsumsi pesan yang ditunda lagi.

(Diperoleh dari IDataflowBlock)
ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean)

Dipanggil oleh yang ditautkan ITargetBlock<TInput> untuk menerima dan mengonsumsi yang DataflowMessageHeader ditawarkan sebelumnya oleh ini ISourceBlock<TOutput>.

(Diperoleh dari ISourceBlock<TOutput>)
Fault(Exception)

Menyebabkan selesai IDataflowBlock dalam keadaan Faulted .

(Diperoleh dari IDataflowBlock)
LinkTo(ITargetBlock<TOutput>, DataflowLinkOptions)

Menautkan ISourceBlock<TOutput> ke ITargetBlock<TInput>.

(Diperoleh dari ISourceBlock<TOutput>)
OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean)

Menawarkan pesan ke ITargetBlock<TInput>, memberikan target kesempatan untuk mengonsumsi atau menunda pesan.

(Diperoleh dari ITargetBlock<TInput>)
ReleaseReservation(DataflowMessageHeader, ITargetBlock<TOutput>)

Dipanggil oleh yang ditautkan ITargetBlock<TInput> untuk merilis yang sebelumnya dicadangkan DataflowMessageHeader oleh ini ISourceBlock<TOutput>.

(Diperoleh dari ISourceBlock<TOutput>)
ReserveMessage(DataflowMessageHeader, ITargetBlock<TOutput>)

Dipanggil oleh yang ditautkan ITargetBlock<TInput> untuk memesan yang sebelumnya ditawarkan DataflowMessageHeader oleh ini ISourceBlock<TOutput>.

(Diperoleh dari ISourceBlock<TOutput>)

Metode Ekstensi

Nama Deskripsi
AsObservable<TOutput>(ISourceBlock<TOutput>)

Membuat abstraksi baru IObservable<T> melalui ISourceBlock<TOutput>.

AsObserver<TInput>(ITargetBlock<TInput>)

Membuat abstraksi baru IObserver<T> melalui ITargetBlock<TInput>.

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

Menautkan ISourceBlock<TOutput> ke yang ditentukan ITargetBlock<TInput> menggunakan filter yang ditentukan.

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

Menautkan ISourceBlock<TOutput> ke yang ditentukan ITargetBlock<TInput> menggunakan filter yang ditentukan.

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

Menautkan ISourceBlock<TOutput> ke ITargetBlock<TInput>.

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

Menyediakan yang secara asinkron memantau sumber untuk output yang Task<TResult> tersedia.

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

Menyediakan yang secara asinkron memantau sumber untuk output yang Task<TResult> tersedia.

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

Memposting item ke ITargetBlock<TInput>.

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

Secara sinkron menerima nilai dari sumber tertentu dan menyediakan token untuk membatalkan operasi.

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

Secara sinkron menerima nilai dari sumber tertentu, menyediakan token untuk membatalkan operasi dan mengamati interval batas waktu opsional.

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

Secara sinkron menerima nilai dari sumber tertentu, mengamati periode waktu habis opsional.

Receive<TOutput>(ISourceBlock<TOutput>)

Secara sinkron menerima nilai dari sumber tertentu.

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

Secara asinkron menerima nilai dari sumber tertentu dan menyediakan token untuk membatalkan operasi.

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

Secara asinkron menerima nilai dari sumber tertentu, menyediakan token untuk membatalkan operasi dan mengamati interval waktu habis opsional.

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

Secara asinkron menerima nilai dari sumber tertentu, mengamati periode waktu habis opsional.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

Secara asinkron menerima nilai dari sumber tertentu.

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

Secara asinkron menawarkan pesan ke blok pesan target, memungkinkan penundaan.

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

Secara asinkron menawarkan pesan ke blok pesan target, memungkinkan penundaan.

Berlaku untuk