Bagikan melalui


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

Catatan

Pustaka Aliran Data TPL (namespace layanan System.Threading.Tasks.Dataflow) tidak didistribusikan dengan .NET. Untuk menginstal namespace layanan System.Threading.Tasks.Dataflow di Visual Studio, buka proyek, pilih Kelola Paket NuGet dari menu Proyek, 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

Completion

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

(Diperoleh dari IDataflowBlock)

Metode

Complete()

Sinyal untuk IDataflowBlock yang seharusnya tidak diterima atau menghasilkan pesan lagi atau mengkonsumsi pesan yang ditunda lagi.

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

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

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

IDataflowBlock Menyebabkan selesai dalam keadaanFaulted.

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

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

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

Menawarkan pesan ke ITargetBlock<TInput>, memberikan target kesempatan untuk mengkonsumsi 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

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

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

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>, DataflowLinkOptions, Predicate<TOutput>)

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

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

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

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

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

Secara sinkron menerima nilai dari sumber tertentu.

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

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

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

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

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

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

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

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

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

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

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

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

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

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

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

Berlaku untuk