ISourceBlock<TOutput>.ConsumeMessage Method

.NET Framework (current version)

Called by a linked ITargetBlock<TInput> to accept and consume a DataflowMessageHeader previously offered by this ISourceBlock<TOutput>.

Namespace:  System.Threading.Tasks.Dataflow
Assembly:  System.Threading.Tasks.Dataflow (in System.Threading.Tasks.Dataflow.dll)

TOutput ConsumeMessage(
	DataflowMessageHeader messageHeader,
	ITargetBlock<TOutput> target,
	out bool messageConsumed


Type: System.Threading.Tasks.Dataflow.DataflowMessageHeader

The DataflowMessageHeader of the message being consumed.

Type: System.Threading.Tasks.Dataflow.ITargetBlock<TOutput>

The ITargetBlock<TInput> consuming the message.

Type: System.Boolean

true if the message was successfully consumed; otherwise, false.

Return Value

Type: TOutput
The value of the consumed message. This may correspond to a different DataflowMessageHeader instance than was previously reserved and passed as the messageHeader to ConsumeMessage. The consuming ITargetBlock<TInput> must use the returned value instead of the value passed as messageValue through OfferMessage.
If the message requested is not available, the return value will be null.


The messageHeader is not valid.


The target is null.

Only ITargetBlock<TInput> instances linked to this ISourceBlock<TOutput> instance may use ConsumeMessage, and it must only be used to consume DataflowMessageHeader instances previously offered by this source to the target.

.NET Framework

Supported in: 4.5

Portable Class Library

Supported in: Portable Class Library