TransformBlock<TInput,TOutput> Kelas

Definisi

Menyediakan blok aliran data yang memanggil delegasi yang disediakan Func<T,TResult> untuk setiap elemen data yang diterima.

generic <typename TInput, typename TOutput>
public ref class TransformBlock sealed : System::Threading::Tasks::Dataflow::IPropagatorBlock<TInput, TOutput>, System::Threading::Tasks::Dataflow::IReceivableSourceBlock<TOutput>, System::Threading::Tasks::Dataflow::ISourceBlock<TOutput>, System::Threading::Tasks::Dataflow::ITargetBlock<TInput>
public sealed class TransformBlock<TInput,TOutput> : System.Threading.Tasks.Dataflow.IPropagatorBlock<TInput,TOutput>, System.Threading.Tasks.Dataflow.IReceivableSourceBlock<TOutput>, System.Threading.Tasks.Dataflow.ISourceBlock<TOutput>, System.Threading.Tasks.Dataflow.ITargetBlock<TInput>
type TransformBlock<'Input, 'Output> = class
    interface IPropagatorBlock<'Input, 'Output>
    interface ITargetBlock<'Input>
    interface IDataflowBlock
    interface ISourceBlock<'Output>
    interface IReceivableSourceBlock<'Output>
type TransformBlock<'Input, 'Output> = class
    interface IDataflowBlock
    interface IPropagatorBlock<'Input, 'Output>
    interface ISourceBlock<'Output>
    interface ITargetBlock<'Input>
    interface IReceivableSourceBlock<'Output>
Public NotInheritable Class TransformBlock(Of TInput, TOutput)
Implements IPropagatorBlock(Of TInput, TOutput), IReceivableSourceBlock(Of TOutput), ISourceBlock(Of TOutput), ITargetBlock(Of TInput)

Jenis parameter

TInput

Menentukan jenis data yang diterima dan dioperasikan oleh ini TransformBlock<TInput,TOutput>.

TOutput

Menentukan jenis output data dengan ini TransformBlock<TInput,TOutput>.

Warisan
TransformBlock<TInput,TOutput>
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.

Konstruktor

Nama Deskripsi
TransformBlock<TInput,TOutput>(Func<TInput,Task<TOutput>>, ExecutionDataflowBlockOptions)

Menginisialisasi baru TransformBlock<TInput,TOutput> dengan yang ditentukan Func<T,TResult> dan ExecutionDataflowBlockOptions.

TransformBlock<TInput,TOutput>(Func<TInput,Task<TOutput>>)

Menginisialisasi baru TransformBlock<TInput,TOutput> dengan yang ditentukan Func<T,TResult>.

TransformBlock<TInput,TOutput>(Func<TInput,TOutput>, ExecutionDataflowBlockOptions)

Menginisialisasi baru TransformBlock<TInput,TOutput> dengan yang ditentukan Func<T,TResult> dan ExecutionDataflowBlockOptions.

TransformBlock<TInput,TOutput>(Func<TInput,TOutput>)

Menginisialisasi baru TransformBlock<TInput,TOutput> dengan yang ditentukan Func<T,TResult>.

Properti

Nama Deskripsi
Completion

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

InputCount

Mendapatkan jumlah item input yang menunggu untuk diproses oleh blok ini.

OutputCount

Mendapatkan jumlah item output yang tersedia untuk diterima dari blok ini.

Metode

Nama Deskripsi
Complete()

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

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan Type instans saat ini.

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

Menautkan ISourceBlock<TOutput> ke ITargetBlock<TInput> .

MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

(Diperoleh dari Object)
ToString()

Mengembalikan string yang mewakili nama yang diformat dari instans ini IDataflowBlock .

TryReceive(Predicate<TOutput>, TOutput)

Mencoba untuk secara sinkron menerima item output yang tersedia dari IReceivableSourceBlock<TOutput>.

TryReceiveAll(IList<TOutput>)

Upaya untuk menerima semua item yang tersedia secara sinkron dari IReceivableSourceBlock<TOutput>.

Implementasi Antarmuka Eksplisit

Nama Deskripsi
IDataflowBlock.Fault(Exception)

Menyebabkan selesai IDataflowBlock dalam keadaan Faulted .

ISourceBlock<TOutput>.ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean)

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

ISourceBlock<TOutput>.ReleaseReservation(DataflowMessageHeader, ITargetBlock<TOutput>)

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

ISourceBlock<TOutput>.ReserveMessage(DataflowMessageHeader, ITargetBlock<TOutput>)

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

ITargetBlock<TInput>.OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean)

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

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.

ReceiveAllAsync<TOutput>(IReceivableSourceBlock<TOutput>, CancellationToken)

Membuat yang IAsyncEnumerable<T> memungkinkan penerimaan semua data dari sumber.

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.

TryReceive<TOutput>(IReceivableSourceBlock<TOutput>, TOutput)

Mencoba untuk menerima item secara sinkron dari ISourceBlock<TOutput>.

Berlaku untuk