WriteOnceBlock<T>.ISourceBlock<T>.ConsumeMessage Método

Definición

Lo llama una interfaz ITargetBlock<TInput> vinculada para aceptar y usar una estructura DataflowMessageHeader ofrecida previamente por esta interfaz ISourceBlock<TOutput>.

 virtual T System.Threading.Tasks.Dataflow.ISourceBlock<T>.ConsumeMessage(System::Threading::Tasks::Dataflow::DataflowMessageHeader messageHeader, System::Threading::Tasks::Dataflow::ITargetBlock<T> ^ target, [Runtime::InteropServices::Out] bool % messageConsumed) = System::Threading::Tasks::Dataflow::ISourceBlock<T>::ConsumeMessage;
T ISourceBlock<T>.ConsumeMessage (System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, System.Threading.Tasks.Dataflow.ITargetBlock<T> target, out bool messageConsumed);
abstract member System.Threading.Tasks.Dataflow.ISourceBlock<T>.ConsumeMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * System.Threading.Tasks.Dataflow.ITargetBlock<'T> * bool -> 'T
override this.System.Threading.Tasks.Dataflow.ISourceBlock<T>.ConsumeMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * System.Threading.Tasks.Dataflow.ITargetBlock<'T> * bool -> 'T
Function ConsumeMessage (messageHeader As DataflowMessageHeader, target As ITargetBlock(Of T), ByRef messageConsumed As Boolean) As T Implements ISourceBlock(Of T).ConsumeMessage

Parámetros

messageHeader
DataflowMessageHeader

DataflowMessageHeader del mensaje que se está usando.

target
ITargetBlock<T>

ITargetBlock<TInput> que consume el mensaje.

messageConsumed
Boolean

true si se ha consumido correctamente el mensaje; de lo contrario, es false.

Devoluciones

T

Valor del mensaje consumido. Esto puede corresponder a una instancia diferente de DataflowMessageHeader que se ha reservado y pasado previamente como messageHeader a ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean). La interfaz ITargetBlock<TInput> de consumo debe usar el valor devuelto en lugar del valor pasado como messageValue mediante OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean).

Si el mensaje solicitado no está disponible, el valor devuelto será null.

Implementaciones

Excepciones

messageHeader no es válido.

El valor de target es null.

Comentarios

Solo ITargetBlock<TInput> las instancias vinculadas a esta ISourceBlock<TOutput> instancia pueden usar ConsumeMessagey solo se deben usar para consumir DataflowMessageHeader instancias que anteriormente ofrecía este origen al destino.

Se aplica a