Прочетете на английски Редактиране

Споделяне чрез


BatchBlock<T>.ISourceBlock<T[]>.ConsumeMessage Method

Definition

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

C#
T[] ISourceBlock<T[]>.ConsumeMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, System.Threading.Tasks.Dataflow.ITargetBlock<T[]> target, out bool messageConsumed);

Parameters

messageHeader
DataflowMessageHeader

The DataflowMessageHeader of the message being consumed.

target
ITargetBlock<T[]>

The ITargetBlock<TInput> consuming the message.

messageConsumed
Boolean

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

Returns

T[]

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(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean). The consuming ITargetBlock<TInput> must use the returned value instead of the value passed as messageValue through OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean).

If the message requested is not available, the return value will be null.

Implements

Exceptions

The messageHeader is not valid.

The target is null.

Remarks

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.

Applies to

Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8 (package-provided), 8, 9 (package-provided), 9, 10 (package-provided), 10
.NET Standard 2.0 (package-provided), 2.1 (package-provided)
UWP 10.0