ISourceBlock<TOutput>.ConsumeMessage 方法

定义

由链接 ITargetBlock<TInput> 调用以接受和使用 DataflowMessageHeader 以前由此 ISourceBlock<TOutput>提供的。

public TOutput ConsumeMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, System.Threading.Tasks.Dataflow.ITargetBlock<out TOutput> target, out bool messageConsumed);
abstract member ConsumeMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * System.Threading.Tasks.Dataflow.ITargetBlock<'Output> * bool -> 'Output
Public Function ConsumeMessage (messageHeader As DataflowMessageHeader, target As ITargetBlock(Of Out TOutput), ByRef messageConsumed As Boolean) As TOutput

参数

messageHeader
DataflowMessageHeader

DataflowMessageHeader正在使用的消息。

target
ITargetBlock<TOutput>

ITargetBlock<TInput>使用消息。

messageConsumed
Boolean

true 如果已成功使用消息,则为否则,为 false.

返回

TOutput

已使用消息的值。 这可能与以前保留的实例不同DataflowMessageHeader,并作为messageHeaderConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean)传递给该实例。 使用ITargetBlock<TInput>必须使用返回的值,而不是作为传递OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean)传递messageValue的值。

如果请求的消息不可用,则返回值将为 null。

例外

messageHeader 无效。

目标是 null

注解

只有 ITargetBlock<TInput> 链接到此 ISourceBlock<TOutput> 实例的实例可以使用 ConsumeMessage,并且它只能用于使用此 DataflowMessageHeader 源以前提供给目标的实例。

适用于