Udostępnij za pośrednictwem


TransformManyBlock<TInput,TOutput> Klasa

Definicja

Udostępnia blok przepływu danych, który wywołuje dostarczonego Func<T,TResult> delegata dla każdego odebranego elementu danych.

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

Określa typ odebranych danych i obsługiwanych przez ten TransformManyBlock<TInput,TOutput>element .

TOutput

Określa typ danych wyjściowych przez ten TransformManyBlock<TInput,TOutput>element .

Dziedziczenie
TransformManyBlock<TInput,TOutput>
Implementuje

Uwagi

Uwaga

Biblioteka przepływów danych TPL ( System.Threading.Tasks.Dataflow przestrzeń nazw) nie jest dystrybuowana za pomocą platformy .NET. Aby zainstalować System.Threading.Tasks.Dataflow przestrzeń nazw w programie Visual Studio, otwórz projekt, wybierz pozycję Zarządzaj pakietami NuGet z menu Project i wyszukaj pakiet w trybie online System.Threading.Tasks.Dataflow . Aby zainstalować go przy użyciu interfejsu wiersza polecenia platformy .NET Core, uruchom polecenie dotnet add package System.Threading.Tasks.Dataflow.

Konstruktory

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

Inicjuje element TransformManyBlock<TInput,TOutput> za pomocą określonej funkcji.

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

Inicjuje element TransformManyBlock<TInput,TOutput> za pomocą określonej funkcji i ExecutionDataflowBlockOptions.

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

Inicjuje nową TransformManyBlock<TInput,TOutput> z określoną funkcją.

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

Inicjuje nowy TransformManyBlock<TInput,TOutput> element z określoną funkcją i ExecutionDataflowBlockOptions.

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

Inicjuje nową TransformManyBlock<TInput,TOutput> z określoną funkcją.

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

Inicjuje nowy TransformManyBlock<TInput,TOutput> element z określoną funkcją i ExecutionDataflowBlockOptions.

Właściwości

Completion

Pobiera obiekt reprezentujący operację Task asynchroniczną i zakończenie bloku przepływu danych.

InputCount

Pobiera liczbę elementów wejściowych oczekujących na przetworzenie przez ten blok.

OutputCount

Pobiera liczbę elementów wyjściowych dostępnych do odebrania z tego bloku.

Metody

Complete()

Sygnały do IDataflowBlock tego, że nie powinny akceptować ani nie generować więcej komunikatów ani używać więcej odroczone komunikaty.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
LinkTo(ITargetBlock<TOutput>, DataflowLinkOptions)

Tworzy łącze ISourceBlock<TOutput> do określonego ITargetBlock<TInput> elementu .

MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący sformatowaną nazwę tego IDataflowBlock wystąpienia.

TryReceive(Predicate<TOutput>, TOutput)

Próbuje synchronicznie odebrać dostępny element wyjściowy z elementu IReceivableSourceBlock<TOutput>.

TryReceiveAll(IList<TOutput>)

Próbuje synchronicznie odbierać wszystkie dostępne elementy z elementu IReceivableSourceBlock<TOutput>.

Jawne implementacje interfejsu

IDataflowBlock.Fault(Exception)

Powoduje ukończenie operacji IDataflowBlock w Faulted stanie .

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

Wywołana przez element połączony ITargetBlock<TInput> w celu zaakceptowania i korzystania z elementu oferowanego wcześniej przez tę ISourceBlock<TOutput>usługę DataflowMessageHeader .

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

Wywoływane przez element połączony ITargetBlock<TInput> z wydaniem wcześniej zarezerwowanego DataflowMessageHeader przez ten ISourceBlock<TOutput>element .

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

Wywoływana przez element połączonyITargetBlock<TInput>, aby zarezerwować wcześniej oferowaną przez tę ISourceBlock<TOutput>usługę DataflowMessageHeader .

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

Oferuje komunikat do ITargetBlock<TInput>elementu , dając docelową możliwość korzystania lub odroczenia komunikatu.

Metody rozszerzania

AsObservable<TOutput>(ISourceBlock<TOutput>)

Tworzy nową IObservable<T> abstrakcję dla elementu ISourceBlock<TOutput>.

AsObserver<TInput>(ITargetBlock<TInput>)

Tworzy nową IObserver<T> abstrakcję dla elementu ITargetBlock<TInput>.

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

Tworzy łącze ISourceBlock<TOutput> do określonego ITargetBlock<TInput>elementu .

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

Łączy element z ISourceBlock<TOutput> określonym ITargetBlock<TInput> filtrem przy użyciu określonego filtru.

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

Łączy element z ISourceBlock<TOutput> określonym ITargetBlock<TInput> filtrem przy użyciu określonego filtru.

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

Task<TResult> Zapewnia asynchroniczne monitorowanie źródła pod kątem dostępnych danych wyjściowych.

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

Task<TResult> Zapewnia asynchroniczne monitorowanie źródła pod kątem dostępnych danych wyjściowych.

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

Publikuje element w elemencie ITargetBlock<TInput>.

Receive<TOutput>(ISourceBlock<TOutput>)

Synchronicznie odbiera wartość z określonego źródła.

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

Synchronicznie odbiera wartość z określonego źródła i udostępnia token umożliwiający anulowanie operacji.

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

Synchronicznie odbiera wartość z określonego źródła, obserwując opcjonalny okres limitu czasu.

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

Synchronicznie odbiera wartość z określonego źródła, zapewniając token umożliwiający anulowanie operacji i obserwowanie opcjonalnego interwału limitu czasu.

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

Tworzy obiekt IAsyncEnumerable<T> , który umożliwia odbieranie wszystkich danych ze źródła.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

Asynchronicznie odbiera wartość z określonego źródła.

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

Asynchronicznie odbiera wartość z określonego źródła i udostępnia token umożliwiający anulowanie operacji.

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

Asynchronicznie odbiera wartość z określonego źródła, obserwując opcjonalny limit czasu.

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

Asynchronicznie odbiera wartość z określonego źródła, zapewniając token umożliwiający anulowanie operacji i obserwowanie opcjonalnego interwału limitu czasu.

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

Asynchronicznie oferuje komunikat do docelowego bloku komunikatów, co pozwala na odroczenie.

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

Asynchronicznie oferuje komunikat do docelowego bloku komunikatów, co pozwala na odroczenie.

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

Próbuje synchronicznie odebrać element z elementu ISourceBlock<TOutput>.

Dotyczy