IPropagatorBlock<TInput,TOutput> インターフェイス

定義

データのターゲットとデータ ソースの両方であるデータフロー ブロックを表します。

generic <typename TInput, typename TOutput>
public interface class IPropagatorBlock : System::Threading::Tasks::Dataflow::ISourceBlock<TOutput>, System::Threading::Tasks::Dataflow::ITargetBlock<TInput>
public interface IPropagatorBlock<in TInput,out TOutput> : System.Threading.Tasks.Dataflow.ISourceBlock<out TOutput>, System.Threading.Tasks.Dataflow.ITargetBlock<in TInput>
type IPropagatorBlock<'Input, 'Output> = interface
    interface ITargetBlock<'Input>
    interface IDataflowBlock
    interface ISourceBlock<'Output>
type IPropagatorBlock<'Input, 'Output> = interface
    interface IDataflowBlock
    interface ISourceBlock<'Output>
    interface ITargetBlock<'Input>
Public Interface IPropagatorBlock(Of In TInput, Out TOutput)
Implements ISourceBlock(Of Out TOutput), ITargetBlock(Of In TInput)

型パラメーター

TInput

IPropagatorBlock<TInput,TOutput>で受け入れられるデータの種類を指定します。

この型パラメーターは反変です。 つまり、指定した型、または弱い派生型のいずれかを使用することができます。 共変性および反変性の詳細については、「ジェネリックの共変性と反変性」をご覧ください。
TOutput

IPropagatorBlock<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実行します。

プロパティ

名前 説明
Completion

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

(継承元 IDataflowBlock)

メソッド

名前 説明
Complete()

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

(継承元 IDataflowBlock)
ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean)

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

(継承元 ISourceBlock<TOutput>)
Fault(Exception)

IDataflowBlockFaulted状態で完了します。

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

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

(継承元 ISourceBlock<TOutput>)
OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean)

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

(継承元 ITargetBlock<TInput>)
ReleaseReservation(DataflowMessageHeader, ITargetBlock<TOutput>)

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

(継承元 ISourceBlock<TOutput>)
ReserveMessage(DataflowMessageHeader, ITargetBlock<TOutput>)

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

(継承元 ISourceBlock<TOutput>)

拡張メソッド

名前 説明
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>)

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

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)

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

適用対象