TransformManyBlock<TInput,TOutput> クラス

定義

受信したすべてのデータ要素に対して指定された Func<T,TResult> デリゲートを呼び出すデータフロー ブロックを提供します。

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)

型パラメーター

TInput

この TransformManyBlock<TInput,TOutput>によって受信および操作されるデータの種類を指定します。

TOutput

この TransformManyBlock<TInput,TOutput>によるデータ出力の種類を指定します。

継承
TransformManyBlock<TInput,TOutput>
実装

注釈

Note

TPL データフロー ライブラリ (System.Threading.Tasks.Dataflow 名前空間) は.NET と共に配布されません。 Visual Studio で System.Threading.Tasks.Dataflow 名前空間をインストールするには、プロジェクトを開き、[プロジェクト] メニューから [NuGet パッケージの管理] 選択し、System.Threading.Tasks.Dataflow パッケージをオンラインで検索します。 または、.NET Core CLI 使用してインストールするには、dotnet add package System.Threading.Tasks.Dataflow実行します。

コンストラクター

名前 説明
TransformManyBlock<TInput,TOutput>(Func<TInput,IAsyncEnumerable<TOutput>>, ExecutionDataflowBlockOptions)

指定した関数とExecutionDataflowBlockOptionsを使用してTransformManyBlock<TInput,TOutput>を初期化します。

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

指定した関数を使用して TransformManyBlock<TInput,TOutput> を初期化します。

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

指定した関数とTransformManyBlock<TInput,TOutput>を使用して、新しいExecutionDataflowBlockOptionsを初期化します。

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

指定した関数を使用して新しい TransformManyBlock<TInput,TOutput> を初期化します。

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

指定した関数とTransformManyBlock<TInput,TOutput>を使用して、新しいExecutionDataflowBlockOptionsを初期化します。

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

指定した関数を使用して新しい TransformManyBlock<TInput,TOutput> を初期化します。

プロパティ

名前 説明
Completion

非同期操作とデータフロー ブロックの完了を表す Task を取得します。

InputCount

このブロックによって処理されるのを待機している入力項目の数を取得します。

OutputCount

このブロックから受信できる出力項目の数を取得します。

メソッド

名前 説明
Complete()

これ以上メッセージを受け入れても生成したり、それ以上延期されたメッセージを使用したりしてはならないことを IDataflowBlock に通知します。

Equals(Object)

指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
LinkTo(ITargetBlock<TOutput>, DataflowLinkOptions)

指定したISourceBlock<TOutput>ITargetBlock<TInput>をリンクします。

MemberwiseClone()

現在の Objectの簡易コピーを作成します。

(継承元 Object)
ToString()

この IDataflowBlock インスタンスの書式設定された名前を表す文字列を返します。

TryReceive(Predicate<TOutput>, TOutput)

IReceivableSourceBlock<TOutput>から使用可能な出力項目を同期的に受信しようとします。

TryReceiveAll(IList<TOutput>)

IReceivableSourceBlock<TOutput>から使用可能なすべての項目を同期的に受信しようとします。

明示的なインターフェイスの実装

名前 説明
IDataflowBlock.Fault(Exception)

IDataflowBlockFaulted状態で完了します。

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

リンクされたITargetBlock<TInput>によって呼び出され、このDataflowMessageHeaderによって以前に提供されたISourceBlock<TOutput>を受け入れて使用します。

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

リンクされたITargetBlock<TInput>によって呼び出され、このDataflowMessageHeaderによって以前に予約されたISourceBlock<TOutput>が解放されます。

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

リンクされたITargetBlock<TInput>によって呼び出され、このDataflowMessageHeaderによって以前に提供されたISourceBlock<TOutput>を予約します。

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

ITargetBlock<TInput>にメッセージを提供し、ターゲットにメッセージを使用または延期する機会を提供します。

拡張メソッド

名前 説明
AsObservable<TOutput>(ISourceBlock<TOutput>)

IObservable<T>に対する新しいISourceBlock<TOutput>抽象化を作成します。

AsObserver<TInput>(ITargetBlock<TInput>)

IObserver<T>に対する新しいITargetBlock<TInput>抽象化を作成します。

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

指定したフィルターを使用して、指定したISourceBlock<TOutput>ITargetBlock<TInput>をリンクします。

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

指定したフィルターを使用して、指定したISourceBlock<TOutput>ITargetBlock<TInput>をリンクします。

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

指定したISourceBlock<TOutput>ITargetBlock<TInput>をリンクします。

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

ソースで使用可能な出力を非同期的に監視する Task<TResult> を提供します。

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

ソースで使用可能な出力を非同期的に監視する Task<TResult> を提供します。

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

アイテムを ITargetBlock<TInput>に投稿します。

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

指定したソースから値を同期的に受信し、操作を取り消すトークンを提供します。

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

指定したソースから値を同期的に受信し、操作を取り消すトークンを提供し、オプションのタイムアウト間隔を監視します。

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

指定したソースから値を同期的に受信し、オプションのタイムアウト期間を監視します。

Receive<TOutput>(ISourceBlock<TOutput>)

指定したソースから値を同期的に受信します。

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

ソースからすべてのデータを受信できるようにする IAsyncEnumerable<T> を作成します。

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

指定したソースから値を非同期に受信し、操作を取り消すトークンを提供します。

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

指定したソースから値を非同期に受信し、操作を取り消すトークンを提供し、オプションのタイムアウト間隔を監視します。

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

指定したソースから値を非同期に受信し、オプションのタイムアウト期間を監視します。

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

指定したソースから値を非同期的に受信します。

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

ターゲット メッセージ ブロックにメッセージを非同期的に提供し、延期できるようにします。

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

ターゲット メッセージ ブロックにメッセージを非同期的に提供し、延期できるようにします。

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

ISourceBlock<TOutput>からアイテムを同期的に受信しようとします。

適用対象