次の方法で共有


TransformBlock<TInput,TOutput>.ITargetBlock<TInput>.OfferMessage メソッド

定義

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

 virtual System::Threading::Tasks::Dataflow::DataflowMessageStatus System.Threading.Tasks.Dataflow.ITargetBlock<TInput>.OfferMessage(System::Threading::Tasks::Dataflow::DataflowMessageHeader messageHeader, TInput messageValue, System::Threading::Tasks::Dataflow::ISourceBlock<TInput> ^ source, bool consumeToAccept) = System::Threading::Tasks::Dataflow::ITargetBlock<TInput>::OfferMessage;
System.Threading.Tasks.Dataflow.DataflowMessageStatus ITargetBlock<TInput>.OfferMessage (System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, TInput messageValue, System.Threading.Tasks.Dataflow.ISourceBlock<TInput> source, bool consumeToAccept);
abstract member System.Threading.Tasks.Dataflow.ITargetBlock<TInput>.OfferMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * 'Input * System.Threading.Tasks.Dataflow.ISourceBlock<'Input> * bool -> System.Threading.Tasks.Dataflow.DataflowMessageStatus
override this.System.Threading.Tasks.Dataflow.ITargetBlock<TInput>.OfferMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * 'Input * System.Threading.Tasks.Dataflow.ISourceBlock<'Input> * bool -> System.Threading.Tasks.Dataflow.DataflowMessageStatus
Function OfferMessage (messageHeader As DataflowMessageHeader, messageValue As TInput, source As ISourceBlock(Of TInput), consumeToAccept As Boolean) As DataflowMessageStatus Implements ITargetBlock(Of TInput).OfferMessage

パラメーター

messageHeader
DataflowMessageHeader

提供されるメッセージのヘッダーを表す DataflowMessageHeader インスタンス。

messageValue
TInput

提供されるメッセージの値。

source
ISourceBlock<TInput>

メッセージを提供している ISourceBlock<TOutput>null でもかまいません。

consumeToAccept
Boolean

ターゲットがメッセージを使用するために、ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean) を返す前に ITargetBlock<TInput>.OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean) の呼び出し中に Accepted を同期的に呼び出す必要がある場合は true

戻り値

DataflowMessageStatus

提供されたメッセージのステータス。 メッセージがターゲットによって受け入れられた場合は、Accepted が返されます。メッセージはターゲットに所有されるようになったので、ソースは提供されたメッセージを使用しないようにする必要があります。 メッセージがターゲットによって延期された場合、ターゲットが後でメッセージの使用または予約を試みる可能性があることを示す通知として Postponed が返されます。その間、ソースはそのメッセージを引き続き所有し、他のブロックに提供する可能性があります。

ターゲットが遅延するはずだったのに、ソースが null だった場合は、代わりに Declined が返されます。

ターゲットがメッセージを受け入れようとしたが、ソースが別のターゲットにメッセージを配信したか、単純に破棄したため、受け入れることができなかった場合は、NotAvailable が返されます。

ターゲットがメッセージを受け入れなかった場合は、Declined が返されます。 ターゲットがメッセージを受け入れず、今後、このソースからの別のメッセージを受け入れない場合は、DecliningPermanently が返されます。

実装

例外

messageHeader が有効ではありません。

または、consumeToAccept は、source の値が null 以外である場合にのみ true にすることができます。

適用対象