Sdílet prostřednictvím


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

Parametry typu

TInput

Určuje typ přijatých a provozovaných dat .TransformBlock<TInput,TOutput>

TOutput

Určuje typ výstupu dat tímto TransformBlock<TInput,TOutput>způsobem .

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

Poznámky

Poznámka

Knihovna TPL Dataflow ( System.Threading.Tasks.Dataflow obor názvů) není distribuována s rozhraním .NET. Chcete-li System.Threading.Tasks.Dataflow v aplikaci Visual Studio nainstalovat obor názvů, otevřete projekt, v nabídce projekt vyberte možnost Spravovat balíčky NuGet a vyhledejte balíček online System.Threading.Tasks.Dataflow . Případně ho můžete nainstalovat pomocí .NET Core CLIspuštěním dotnet add package System.Threading.Tasks.Dataflow .

Konstruktory

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

Inicializuje novou TransformBlock<TInput,TOutput> se zadaným Func<T,TResult>.

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

Inicializuje nový TransformBlock<TInput,TOutput> se zadaným Func<T,TResult> a ExecutionDataflowBlockOptions.

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

Inicializuje novou TransformBlock<TInput,TOutput> se zadaným Func<T,TResult>.

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

Inicializuje nový TransformBlock<TInput,TOutput> se zadaným Func<T,TResult> a ExecutionDataflowBlockOptions.

Vlastnosti

Completion

Task Získá, 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é mají být přijaty z tohoto bloku.

Metody

Complete()

Signály pro IDataflowBlock to, že by neměla přijímat ani vytvářet žádné další zprávy ani využívat žádné 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í funkce hash.

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

Type Získá aktuální instanci.

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

Odkazuje na ISourceBlock<TOutput> zadanou ITargetBlock<TInput> .

MemberwiseClone()

Vytvoří použádnou kopii aktuálního souboru Object.

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

Pokusy o synchronní příjem všech dostupných položek z .IReceivableSourceBlock<TOutput>

Explicitní implementace rozhraní

IDataflowBlock.Fault(Exception)

Způsobí, že IDataflowBlock se dokončí ve Faulted stavu.

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

Volá se odkazem ITargetBlock<TInput> na přijetí a využívání DataflowMessageHeader dříve nabízeného ISourceBlock<TOutput>.

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

Volal by odkaz ITargetBlock<TInput> na vydání dříve rezervované DataflowMessageHeader tímto ISourceBlock<TOutput>.

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

Volal by odkaz ITargetBlock<TInput> na rezervaci dříve nabízené DataflowMessageHeader tímto ISourceBlock<TOutput>.

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

Nabízí zprávu ITargetBlock<TInput>, která dává cíli možnost využívat nebo odložit zprávu.

Metody rozšíření

AsObservable<TOutput>(ISourceBlock<TOutput>)

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

AsObserver<TInput>(ITargetBlock<TInput>)

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

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

ISourceBlock<TOutput> Odkazuje na zadané ITargetBlock<TInput>.

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

ISourceBlock<TOutput> Odkazuje na zadaný ITargetBlock<TInput> filtr.

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

ISourceBlock<TOutput> Odkazuje na zadaný ITargetBlock<TInput> filtr.

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

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

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

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

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

Publikuje položku do souboru ITargetBlock<TInput>.

Receive<TOutput>(ISourceBlock<TOutput>)

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

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

Synchronně přijímá hodnotu ze zadaného zdroje a poskytuje token pro zrušení operace.

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

Synchronně přijímá hodnotu ze zadaného zdroje a sleduje volitelnou dobu časového limitu.

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

Synchronně přijímá hodnotu ze zadaného zdroje a poskytuje token pro zrušení operace a sledování volitelného intervalu č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řijímá hodnotu ze zadaného zdroje a poskytuje token pro zrušení operace.

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

Asynchronně přijímá hodnotu ze zadaného zdroje a sleduje volitelnou dobu časového limitu.

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

Asynchronně přijímá hodnotu ze zadaného zdroje a poskytuje token pro zrušení operace a sledování volitelného intervalu časového limitu.

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

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

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

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

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

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

Platí pro