ActionBlock<TInput>.ITargetBlock<TInput>.OfferMessage 方法

定义

提供信息至数据流块,并提供使用或延迟信息的机会。

 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

提供的消息的标题。

messageValue
TInput

要提供的消息值。

source
ISourceBlock<TInput>

提供消息的数据流块。 这可能是 null

consumeToAccept
Boolean

如果要指示目标在返回 Accepted 前,在进行对 OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean) 的调用期间同步调用 ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean) 以使用消息,则为 true;否则为 false

返回

DataflowMessageStatus

所提供消息的状态。 如果消息为该目标接受,则将返回 Accepted,将返回,并且源不应再使用提供的消息,因为其现在归目标所有。 如果消息因该目标延迟,则将以通知的形式返回 Postponed,该通知是目标稍后可能会尝试使用或保留消息的通知;同时,源仍拥有消息并将其提供给其他块。

如果目标推迟了消息,而源为 null,则返回 Declined

如果尝试了接受此则消息但由于将消息交付给另一目标或放弃该消息的源而错过该消息,则将返回 NotAvailable

如果目标选择不接受消息,则将返回 Declined。 如果源选择不接受该消息并将从不从此源接受另一则消息,则将返回 DecliningPermanently

实现

例外

messageHeader 无效。

或者,consumeToAccept 仅在被提供了非 null source 时可能为 true

适用于