ISourceBlock<TOutput>.ConsumeMessage Méthode

Définition

Appelé par un lié ITargetBlock<TInput> à accepter et consommer un DataflowMessageHeader précédemment proposé par ce 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

Paramètres

messageHeader
DataflowMessageHeader

Message DataflowMessageHeader consommé.

target
ITargetBlock<TOutput>

Consommation ITargetBlock<TInput> du message.

messageConsumed
Boolean

true si le message a été consommé avec succès ; sinon, false.

Retours

TOutput

Valeur du message consommé. Cela peut correspondre à une instance différente DataflowMessageHeader de celle précédemment réservée et passée en tant que messageHeader .ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean) L’utilisation ITargetBlock<TInput> doit utiliser la valeur retournée au lieu de la valeur passée en tant que messageValue via OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean).

Si le message demandé n’est pas disponible, la valeur de retour est Null.

Exceptions

MessageHeader n’est pas valide.

La cible est null.

Remarques

Seules ITargetBlock<TInput> les instances liées à cette ISourceBlock<TOutput> instance peuvent utiliser ConsumeMessage, et elles doivent uniquement être utilisées pour consommer DataflowMessageHeader des instances précédemment proposées par cette source à la cible.

S’applique à