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>

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

注釈

注意

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)

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

(継承元 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>)

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

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

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

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

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

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

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

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

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

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

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

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

ITargetBlock<TInput> に項目をポストします。

Receive<TOutput>(ISourceBlock<TOutput>)

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

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

同期的に指定したソースから値を受け取り、操作をキャンセルするトークンを提供します。

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

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

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

同期的に操作をキャンセルするトークンを提供し、オプションのタイムアウト間隔を確認する指定したソースから値を受け取ります。

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

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

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

非同期に指定したソースから値を受け取り、操作をキャンセルするトークンを提供します。

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

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

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

非同期に操作をキャンセルするトークンを提供し、オプションのタイムアウト間隔を確認する指定したソースから値を受け取ります。

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

ターゲット メッセージ ブロックにメッセージを非同期的に提供し、遅延を可能にします。

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

ターゲット メッセージ ブロックにメッセージを非同期的に提供し、遅延を可能にします。

適用対象