Sdílet prostřednictvím


TransformManyBlock<TInput,TOutput> Třída

Definice

Poskytuje blok toku dat, který vyvolá zadaného Func<T,TResult> delegáta pro každý přijatý datový prvek.

generic <typename TInput, typename TOutput>
public ref class TransformManyBlock 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 TransformManyBlock<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 TransformManyBlock<'Input, 'Output> = class
    interface IPropagatorBlock<'Input, 'Output>
    interface ITargetBlock<'Input>
    interface IDataflowBlock
    interface ISourceBlock<'Output>
    interface IReceivableSourceBlock<'Output>
type TransformManyBlock<'Input, 'Output> = class
    interface IDataflowBlock
    interface IPropagatorBlock<'Input, 'Output>
    interface ISourceBlock<'Output>
    interface ITargetBlock<'Input>
    interface IReceivableSourceBlock<'Output>
Public NotInheritable Class TransformManyBlock(Of TInput, TOutput)
Implements IPropagatorBlock(Of TInput, TOutput), IReceivableSourceBlock(Of TOutput), ISourceBlock(Of TOutput), ITargetBlock(Of TInput)

Parametry typu

TInput

Určuje typ dat přijatých a provozovaných tímto TransformManyBlock<TInput,TOutput>nástrojem .

TOutput

Určuje typ datového výstupu tímto TransformManyBlock<TInput,TOutput>parametrem .

Dědičnost
TransformManyBlock<TInput,TOutput>
Implementuje

Poznámky

Poznámka

Knihovna toku dat TPL (obor názvů) se s .NET nedistribuuje System.Threading.Tasks.Dataflow . Pokud chcete nainstalovat System.Threading.Tasks.Dataflow obor názvů v sadě Visual Studio, otevřete projekt, v nabídce Projekt zvolte Spravovat balíčky NuGet a vyhledejte balíček onlineSystem.Threading.Tasks.Dataflow. Pokud ho chcete nainstalovat pomocí rozhraní příkazového řádku .NET Core, spusťte příkaz dotnet add package System.Threading.Tasks.Dataflow.

Konstruktory

TransformManyBlock<TInput,TOutput>(Func<TInput,IAsyncEnumerable<TOutput>>)

Inicializuje TransformManyBlock<TInput,TOutput> pomocí zadané funkce.

TransformManyBlock<TInput,TOutput>(Func<TInput,IAsyncEnumerable<TOutput>>, ExecutionDataflowBlockOptions)

Inicializuje TransformManyBlock<TInput,TOutput> pomocí zadané funkce a ExecutionDataflowBlockOptions.

TransformManyBlock<TInput,TOutput>(Func<TInput,IEnumerable<TOutput>>)

Inicializuje nový TransformManyBlock<TInput,TOutput> pomocí zadané funkce.

TransformManyBlock<TInput,TOutput>(Func<TInput,IEnumerable<TOutput>>, ExecutionDataflowBlockOptions)

Inicializuje nový TransformManyBlock<TInput,TOutput> pomocí zadané funkce a ExecutionDataflowBlockOptions.

TransformManyBlock<TInput,TOutput>(Func<TInput,Task<IEnumerable<TOutput>>>)

Inicializuje nový TransformManyBlock<TInput,TOutput> pomocí zadané funkce.

TransformManyBlock<TInput,TOutput>(Func<TInput,Task<IEnumerable<TOutput>>>, ExecutionDataflowBlockOptions)

Inicializuje nový TransformManyBlock<TInput,TOutput> pomocí zadané funkce a ExecutionDataflowBlockOptions.

Vlastnosti

Completion

Získá, Task který představuje asynchronní operaci a dokončení bloku toku dat.

InputCount

Získá počet vstupních položek čekajících na zpracování tímto blokem.

OutputCount

Získá počet výstupních položek, které jsou k dispozici pro přijetí z tohoto bloku.

Metody

Complete()

Signalizuje, IDataflowBlock že by neměl přijímat ani vytvářet žádné další zprávy ani přijímat další odložené zprávy.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetType()

Získá aktuální Type instanci.

(Zděděno od Object)
LinkTo(ITargetBlock<TOutput>, DataflowLinkOptions)

Prováže parametr ISourceBlock<TOutput> se zadaným ITargetBlock<TInput> parametrem .

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje formátovaný název této IDataflowBlock instance.

TryReceive(Predicate<TOutput>, TOutput)

Pokusí se synchronně přijmout dostupnou výstupní položku z objektu IReceivableSourceBlock<TOutput>.

TryReceiveAll(IList<TOutput>)

Pokusí se synchronně přijmout všechny dostupné položky z .IReceivableSourceBlock<TOutput>

Explicitní implementace rozhraní

IDataflowBlock.Fault(Exception)

Způsobí dokončení ve IDataflowBlockFaulted stavu.

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

Volá se propojeným ITargetBlock<TInput> uživatelem, který přijímá a využívá dříve nabízenou DataflowMessageHeader službu ISourceBlock<TOutput>.

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

Volá se odkazem ITargetBlock<TInput> na vydání dříve rezervovaného DataflowMessageHeader tímto ISourceBlock<TOutput>.

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

Volá propojený ITargetBlock<TInput> , aby si rezervoval dříve nabízený DataflowMessageHeader tento ISourceBlock<TOutput>.

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

Nabídne zprávu do objektu ITargetBlock<TInput>, který dává cíli příležitost zprávu spotřebovat nebo odložit.

Metody rozšíření

AsObservable<TOutput>(ISourceBlock<TOutput>)

Vytvoří novou IObservable<T> abstrakci pro ISourceBlock<TOutput>.

AsObserver<TInput>(ITargetBlock<TInput>)

Vytvoří novou IObserver<T> abstrakci pro ITargetBlock<TInput>.

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

Prováže parametr ISourceBlock<TOutput> se zadaným ITargetBlock<TInput>parametrem .

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

Propojení s ISourceBlock<TOutput> zadaným ITargetBlock<TInput> filtrem.

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

Propojení s ISourceBlock<TOutput> zadaným ITargetBlock<TInput> filtrem.

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

Poskytuje asynchronně Task<TResult> monitoruje zdroj pro dostupný výstup.

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

Poskytuje asynchronně Task<TResult> monitoruje zdroj pro dostupný výstup.

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

Publikuje položku do .ITargetBlock<TInput>

Receive<TOutput>(ISourceBlock<TOutput>)

Synchronně přijímá hodnotu ze zadaného zdroje.

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

Synchronně přijme hodnotu ze zadaného zdroje a poskytne token pro zrušení operace.

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

Synchronně přijímá hodnotu z zadaného zdroje a sleduje volitelné období časového limitu.

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

Synchronně přijímá hodnotu z zadaného zdroje, poskytuje token pro zrušení operace a sleduje volitelný interval časového limitu.

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

Vytvoří objekt IAsyncEnumerable<T> , který umožňuje přijímat všechna data ze zdroje.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

Asynchronně přijímá hodnotu ze zadaného zdroje.

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

Asynchronně přijme hodnotu ze zadaného zdroje a poskytne token pro zrušení operace.

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

Asynchronně přijímá hodnotu z zadaného zdroje, přičemž sleduje volitelné období časového limitu.

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

Asynchronně obdrží hodnotu ze zadaného zdroje, poskytuje token pro zrušení operace a sleduje volitelný interval časového limitu.

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

Asynchronně nabídne zprávu cílovému bloku zpráv, což umožňuje odložení.

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

Asynchronně nabídne zprávu cílovému bloku zpráv, což umožňuje odložení.

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

Pokusí se synchronně přijmout položku z objektu ISourceBlock<TOutput>.

Platí pro