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

定義

データのターゲットとデータのソースの両方であるデータフローのブロックを表します。Represents a dataflow block that is both a target for data and a source of data.

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> ます。Specifies the type of data accepted by the IPropagatorBlock<TInput,TOutput>.

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

によって提供されるデータの種類を指定し IPropagatorBlock<TInput,TOutput> ます。Specifies the type of data supplied by the IPropagatorBlock<TInput,TOutput>.

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

注釈

注意

TPL データフロー ライブラリ (System.Threading.Tasks.Dataflow 名前空間) は、.NET と一緒には配布されません。The TPL Dataflow Library (the System.Threading.Tasks.Dataflow namespace) is not distributed with .NET. Visual Studio に System.Threading.Tasks.Dataflow 名前空間をインストールするには、プロジェクトを開き、 [プロジェクト] メニューの [NuGet パッケージの管理] をクリックし、System.Threading.Tasks.Dataflow パッケージをオンラインで検索します。To install the System.Threading.Tasks.Dataflow namespace in Visual Studio, open your project, choose Manage NuGet Packages from the Project menu, and search online for the System.Threading.Tasks.Dataflow package. または、.NET Core CLI を使ってインストールするには、dotnet add package System.Threading.Tasks.Dataflow を実行します。Alternatively, to install it using the .NET Core CLI, run dotnet add package System.Threading.Tasks.Dataflow.

プロパティ

Completion

データ フロー ブロックの非同期操作と完了を表す Task を取得します。Gets a Task that represents the asynchronous operation and completion of the dataflow block.

(継承元 IDataflowBlock)

メソッド

Complete()

これ以上メッセージを受け付けまたは生成せず、延期メッセージを使用しないことを IDataflowBlock に通知します。Signals to the IDataflowBlock that it should not accept nor produce any more messages nor consume any more postponed messages.

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

前にこの ITargetBlock<TInput> によって提供された DataflowMessageHeader を受け入れて使用するために、リンクされた ISourceBlock<TOutput> によって呼び出されます。Called by a linked ITargetBlock<TInput> to accept and consume a DataflowMessageHeader previously offered by this ISourceBlock<TOutput>.

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

IDataflowBlockFaulted 状態で完了するようにします。Causes the IDataflowBlock to complete in a Faulted state.

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

指定した ITargetBlock<TInput>ISourceBlock<TOutput> をリンクします。Links the ISourceBlock<TOutput> to the specified ITargetBlock<TInput>.

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

メッセージを ITargetBlock<TInput> に提供し、メッセージを使用または延期する機会をターゲットに与えます。Offers a message to the ITargetBlock<TInput>, giving the target the opportunity to consume or postpone the message.

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

この ITargetBlock<TInput> によって前に予約された DataflowMessageHeader を解放するために、リンクされた ISourceBlock<TOutput> によって呼び出されます。Called by a linked ITargetBlock<TInput> to release a previously reserved DataflowMessageHeader by this ISourceBlock<TOutput>.

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

この ITargetBlock<TInput> によって前に提供された DataflowMessageHeader を予約するために、リンクされた ISourceBlock<TOutput> によって呼び出されます。Called by a linked ITargetBlock<TInput> to reserve a previously offered DataflowMessageHeader by this ISourceBlock<TOutput>.

(継承元 ISourceBlock<TOutput>)

拡張メソッド

AsObservable<TOutput>(ISourceBlock<TOutput>)

IObservable<T> の新しい ISourceBlock<TOutput> 抽象化を作成します。Creates a new IObservable<T> abstraction over the ISourceBlock<TOutput>.

AsObserver<TInput>(ITargetBlock<TInput>)

ITargetBlock<TInput> の新しい IObserver<T> 抽象化を作成します。Creates a new IObserver<T> abstraction over the ITargetBlock<TInput>.

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

指定した ITargetBlock<TInput>ISourceBlock<TOutput> をリンクします。Links the ISourceBlock<TOutput> to the specified ITargetBlock<TInput>.

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

指定したフィルターを使用して、指定した ITargetBlock<TInput>ISourceBlock<TOutput> をリンクします。Links the ISourceBlock<TOutput> to the specified ITargetBlock<TInput> using the specified filter.

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

指定したフィルターを使用して、指定した ITargetBlock<TInput>ISourceBlock<TOutput> をリンクします。Links the ISourceBlock<TOutput> to the specified ITargetBlock<TInput> using the specified filter.

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

使用できる出力のソースを非同期的に監視する Task<TResult> を提供します。Provides a Task<TResult> that asynchronously monitors the source for available output.

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

使用できる出力のソースを非同期的に監視する Task<TResult> を提供します。Provides a Task<TResult> that asynchronously monitors the source for available output.

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

ITargetBlock<TInput> に項目をポストします。Posts an item to the ITargetBlock<TInput>.

Receive<TOutput>(ISourceBlock<TOutput>)

指定されたソースから値を同期的に受信します。Synchronously receives a value from a specified source.

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

同期的に指定したソースから値を受け取り、操作をキャンセルするトークンを提供します。Synchronously receives a value from a specified source and provides a token to cancel the operation.

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

同期的に指定したソースから値を受信し、オプションのタイムアウト期間を確認します。Synchronously receives a value from a specified source, observing an optional time-out period.

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

同期的に操作をキャンセルするトークンを提供し、オプションのタイムアウト間隔を確認する指定したソースから値を受け取ります。Synchronously receives a value from a specified source, providing a token to cancel the operation and observing an optional time-out interval.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

指定されたソースから値を非同期的に受信します。Asynchronously receives a value from a specified source.

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

非同期に指定したソースから値を受け取り、操作をキャンセルするトークンを提供します。Asynchronously receives a value from a specified source and provides a token to cancel the operation.

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

非同期に指定したソースから値を受信し、オプションのタイムアウト期間を確認します。Asynchronously receives a value from a specified source, observing an optional time-out period.

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

非同期に操作をキャンセルするトークンを提供し、オプションのタイムアウト間隔を確認する指定したソースから値を受け取ります。Asynchronously receives a value from a specified source, providing a token to cancel the operation and observing an optional time-out interval.

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

ターゲット メッセージ ブロックにメッセージを非同期的に提供し、遅延を可能にします。Asynchronously offers a message to the target message block, allowing for postponement.

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

ターゲット メッセージ ブロックにメッセージを非同期的に提供し、遅延を可能にします。Asynchronously offers a message to the target message block, allowing for postponement.

適用対象