次の方法で共有


WriteOnceBlock<T>.ITargetBlock<T>.OfferMessage メソッド

定義

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

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

パラメーター

messageHeader
DataflowMessageHeader

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

messageValue
T

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

source
ISourceBlock<T>

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

consumeToAccept
Boolean

メッセージを使用するために、ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean) を返す前に OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean) の呼び出し中に Accepted を同期的に呼び出すようにターゲットに指示する場合は、true に設定します。

戻り値

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

ターゲットがメッセージを遅延するはずだったのに、sourcenull だった場合は、Declined が代わりに返されます。

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

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

実装

例外

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

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

適用対象