TransformManyBlock<TInput,TOutput>.ITargetBlock<TInput>.OfferMessage Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предлагает сообщение, ITargetBlock<TInput>предоставляя целевому объекту возможность использовать или отложить сообщение.
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
Экземпляр DataflowMessageHeader , представляющий заголовок предлагаемого сообщения.
- messageValue
- TInput
Значение предлагаемого сообщения.
- source
- ISourceBlock<TInput>
Предложение ISourceBlock<TOutput> сообщения. Это может быть null.
- consumeToAccept
- Boolean
true Значение , если целевой объект должен вызываться ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean) синхронно во время вызова ITargetBlock<TInput>перед возвратом Accepted, чтобы использовать сообщение.
Возвращаемое значение
Состояние предлагаемого сообщения. Если сообщение было принято целевым объектом, Accepted возвращается, и источник больше не должен использовать предлагаемое сообщение, так как он теперь принадлежит целевому объекту. Если сообщение было отложено целевым объектом, возвращается в виде уведомления о Postponed том, что целевой объект может позже попытаться использовать или зарезервировать сообщение; в то же время источник по-прежнему владеет сообщением и может предложить его другим блокам.
Если целевой объект был бы в противном случае отложен, но источник nullбыл, Declined вместо этого возвращается.
Если целевой объект пытался принять сообщение, но пропустил его из-за источника доставки сообщения другому целевому объекту или просто отменив его, NotAvailable возвращается.
Если целевой объект не принял сообщение, Declined возвращается. Если целевой объект не принимает сообщение и никогда не принимает другое сообщение из этого источника, DecliningPermanently возвращается.
Реализации
Исключения
Недопустимый messageHeader параметр.
–или–
consumeToAccept может быть true, только если предоставлено значение, отличное от NULL source.