ActionBlock<TInput>.ITargetBlock<TInput>.OfferMessage Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предлагает сообщение блоку потока данных, предоставляя целевому объекту возможность потребить или отложить его.
virtual System::Threading::Tasks::Dataflow::DataflowMessageStatus System.Threading.Tasks.Dataflow.ITargetBlock<TInput>.OfferMessage(System::Threading::Tasks::Dataflow::DataflowMessageHeader messageHeader, TInput messageValue, System::Threading::Tasks::Dataflow::ISourceBlock<TInput> ^ source, bool consumeToAccept) = System::Threading::Tasks::Dataflow::ITargetBlock<TInput>::OfferMessage;
System.Threading.Tasks.Dataflow.DataflowMessageStatus ITargetBlock<TInput>.OfferMessage (System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, TInput messageValue, System.Threading.Tasks.Dataflow.ISourceBlock<TInput> source, bool consumeToAccept);
abstract member System.Threading.Tasks.Dataflow.ITargetBlock<TInput>.OfferMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * 'Input * System.Threading.Tasks.Dataflow.ISourceBlock<'Input> * bool -> System.Threading.Tasks.Dataflow.DataflowMessageStatus
override this.System.Threading.Tasks.Dataflow.ITargetBlock<TInput>.OfferMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * 'Input * System.Threading.Tasks.Dataflow.ISourceBlock<'Input> * bool -> System.Threading.Tasks.Dataflow.DataflowMessageStatus
Function OfferMessage (messageHeader As DataflowMessageHeader, messageValue As TInput, source As ISourceBlock(Of TInput), consumeToAccept As Boolean) As DataflowMessageStatus Implements ITargetBlock(Of TInput).OfferMessage
Параметры
- messageHeader
- DataflowMessageHeader
Заголовок предлагаемого сообщения.
- messageValue
- TInput
Значение предлагаемого свойства.
- source
- ISourceBlock<TInput>
Блок потока данных, предлагающий сообщение. Это может быть значение null
.
- consumeToAccept
- Boolean
Значение true
для синхронного вызова целевым объектом метода ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean) во время вызова метода OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean) до возврата Accepted, чтобы использовать сообщение; в противном случае — значение false
.
Возвращаемое значение
Состояние предложенного сообщения. Если сообщение было принято целевым объектом, возвращается Accepted и источник больше не должен использовать предложенное сообщение, поскольку оно теперь принадлежит целевому объекту. Если сообщение было отложено целевым объектом, возвращается Postponed в качестве уведомления о том, что целевой объект может позже попытаться использовать или зарезервировать сообщение; при этом источник будет по-прежнему владеть сообщением и может предлагать его другим блокам.
Если в противном случае целевой объект отложил бы сообщение, но источником служил null
, возвращается значение Declined.
Если целевой объект попытался принять сообщение, но не получил его из-за доставки сообщения источником другому целевому объекту или просто отбрасывания сообщения источником, возвращается NotAvailable.
Если целевой объект принял решение не принимать сообщение, возвращается Declined. Если целевой объект принял решение не принимать сообщение и никогда не будет принимать другие сообщения от этого источника, возвращается DecliningPermanently.
Реализации
Исключения
Недопустимый параметр messageHeader
.
-или- параметр consumeToAccept
может иметь значение true
, только если ему предоставлен отличный от NULL source
.