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);
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

消費訊息的價值。 這可能對應於先前保留並傳遞DataflowMessageHeadermessageHeader的另一個ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean)實例。 消費ITargetBlock<TInput>方必須使用回傳的值,而非通過messageValueOfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean)的值。

若請求的訊息不可用,回傳值將為空。

例外狀況

messageHeader 無效。

目標為 null

備註

只有 ITargetBlock<TInput> 與此 ISourceBlock<TOutput> 實例連結的實例才能使用 ConsumeMessage,且必須僅用於消耗 DataflowMessageHeader 該來源先前提供給目標的實例。

適用於