Freigeben über


TransformManyBlock<TInput,TOutput> Klasse

Definition

Stellt einen Datenflussblock bereit, der einen bereitgestellten Func<T,TResult>-Delegaten für jede empfangene Datenelement aufruft.

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)

Typparameter

TInput

Gibt den Datentyp an, der durch dieses TransformManyBlock<TInput,TOutput> empfangen und bearbeitet wird.

TOutput

Gibt den Datentyp an, der von dieser TransformManyBlock<TInput,TOutput> ausgegeben wird.

Vererbung
TransformManyBlock<TInput,TOutput>
Implementiert

Hinweise

Hinweis

Die TPL-Datenflussbibliothek (System.Threading.Tasks.Dataflow-Namespace) wird nicht mit .NET ausgeliefert. Öffnen Sie zum Installieren des System.Threading.Tasks.Dataflow-Namespace in Visual Studio Ihr Projekt, wählen Sie im Menü Projekt die Option NuGet-Pakete verwalten aus, und suchen Sie online nach dem System.Threading.Tasks.Dataflow-Paket. Alternativ können Sie es mithilfe der .NET Core-CLI installieren und dazu dotnet add package System.Threading.Tasks.Dataflow ausführen.

Konstruktoren

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

Initialisiert einen neuen TransformManyBlock<TInput,TOutput> mit der angegebenen Funktion.

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

Initialisiert ein neues TransformManyBlock<TInput,TOutput> mit der angegebenen Funktion und ExecutionDataflowBlockOptions.

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

Initialisiert einen neuen TransformManyBlock<TInput,TOutput> mit der angegebenen Funktion.

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

Initialisiert ein neues TransformManyBlock<TInput,TOutput> mit der angegebenen Funktion und ExecutionDataflowBlockOptions.

Eigenschaften

Completion

Ruft ein Task ab, das den asynchronen Vorgang und die Beendigung des Datenflussblocks darstellt.

InputCount

Ruft die Anzahl der Eingabeelemente ab, die darauf warten, von diesem Block verarbeitet zu werden.

OutputCount

Ruft die Anzahl der Ausgabe-Elementen ab, die von diesem Block empfangen werden können.

Methoden

Complete()

Signalisiert IDataflowBlock, dass es keine Nachrichten mehr akzeptieren und keine produzieren und keine weiteren zurückgestellten Nachrichten verarbeiten soll.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
LinkTo(ITargetBlock<TOutput>, DataflowLinkOptions)

Verbindet ISourceBlock<TOutput> mit dem angegebenen ITargetBlock<TInput>-Objekt.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die den formatierten Namen dieser IDataflowBlock-Instanz darstellt.

TryReceive(Predicate<TOutput>, TOutput)

Versucht, ein verfügbares Output-Element vonIReceivableSourceBlock<TOutput> synchron zu empfangen.

TryReceiveAll(IList<TOutput>)

Versucht, alle verfügbaren Elemente aus IReceivableSourceBlock<TOutput> synchron zu empfangen.

Explizite Schnittstellenimplementierungen

IDataflowBlock.Fault(Exception)

Hat zur Folge, dass IDataflowBlock im Status Faulted abgeschlossen wird.

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

Wird von verknüpften ITargetBlock<TInput> aufgerufen, um einen DataflowMessageHeader zu akzeptieren und verarbeiten, die zuvor durch dieses ISourceBlock<TOutput> angeboten werden.

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

Wird von einem verknüpften ITargetBlock<TInput>, um einen DataflowMessageHeader, der von diesem ISourceBlock<TOutput> zuvor reserviert wurde, freizugeben.

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

Wird von einem verknüpften ITargetBlock<TInput> aufgerufen, um ein DataflowMessageHeader-Objekt, das von diesem ISourceBlock<TOutput>-Objekt zuvor angeboten wurde, zu reservieren.

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

Bietet eine Meldung für ITargetBlock<TInput> an und gibt dem Ziel die Möglichkeit, die Nachricht zu verarbeiten oder zurückzustellen.

Erweiterungsmethoden

AsObservable<TOutput>(ISourceBlock<TOutput>)

Erstellt eine neue IObservable<T> Abstraktion über ISourceBlock<TOutput>.

AsObserver<TInput>(ITargetBlock<TInput>)

Erstellt eine neue IObserver<T>-Abstraktion über ITargetBlock<TInput>.

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

Verbindet ISourceBlock<TOutput> mit dem angegebenen ITargetBlock<TInput>-Objekt.

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

Verknüpft ISourceBlock<TOutput> mit der angegebenen ITargetBlock<TInput>-Objekt mithilfe des angegebenen Filters.

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

Verknüpft ISourceBlock<TOutput> mit der angegebenen ITargetBlock<TInput>-Objekt mithilfe des angegebenen Filters.

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

Stellt eine Task<TResult> bereit, die asynchron die Quelle für verfügbare Ausgabe überwacht.

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

Stellt ein Task<TResult>-Objekt bereit, das asynchron die Quelle für eine verfügbare Ausgabe überwacht.

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

Fügt dem ITargetBlock<TInput> ein Element hinzu.

Receive<TOutput>(ISourceBlock<TOutput>)

Empfängt synchron einen Wert aus der angegebenen Quelle.

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

Erhält synchron einen Wert aus einer angegebenen Quelle und stellt ein Token bereit, um die Operation abzubrechen.

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

Empfängt synchron einen Wert aus einer angegebenen Quelle und beachtet ein optionales Timeout.

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

Empfängt synchron einen Wert aus einer angegebenen Quelle, stellt ein Token bereit, um den Vorgang abzubrechen und beachtet ein optionales Timeoutintervall.

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

Erstellt ein IAsyncEnumerable<T> Objekt, das den Empfang aller Daten aus der Quelle ermöglicht.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

Empfängt asynchron einen Wert aus der angegebenen Quelle.

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

Erhält asynchron einen Wert aus einer angegebenen Quelle und stellt ein Token bereit, um die Operation abzubrechen.

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

Empfängt asynchron einen Wert aus einer angegebenen Quelle und beachtet ein optionales Timeout.

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

Empfängt asynchron einen Wert aus einer angegebenen Quelle, stellt ein Token bereit, um den Vorgang abzubrechen und beachtet ein optionales Timeoutintervall.

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

Gewährt dem Zielmeldungsblock asynchron eine Meldung an und ermöglicht einen Aufschub.

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

Gewährt dem Zielmeldungsblock asynchron eine Meldung an und ermöglicht einen Aufschub.

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

Versucht, ein Element von ISourceBlock<TOutput> synchron zu empfangen.

Gilt für