TransformBlock<TInput,TOutput>.ITargetBlock<TInput>.OfferMessage Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Nabízí zprávu ITargetBlock<TInput>, která dává cíli možnost využívat nebo odložit zprávu.
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
Parametry
- messageHeader
- DataflowMessageHeader
DataflowMessageHeader Instance, která představuje záhlaví nabízené zprávy.
- messageValue
- TInput
Hodnota nabízené zprávy.
- source
- ISourceBlock<TInput>
Nabídka ISourceBlock<TOutput> zprávy. To může být null
.
- consumeToAccept
- Boolean
true
pokud cíl musí volat ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean) synchronně během volání , ITargetBlock<TInput>.OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean)před vrácením Accepted, aby bylo možné zprávu využívat.
Návraty
Stav nabízené zprávy Pokud byla zpráva přijata cílem, Accepted vrátí se a zdroj by už neměl tuto nabízenou zprávu používat, protože je nyní vlastníkem cíle. Pokud cíl zprávu odložil, vrátí se jako oznámení, Postponed že se cíl může později pokusit zprávu spotřebovat nebo rezervovat. Mezitím zdroj zprávu stále vlastní a může ji nabídnout jiným blokům.
Pokud by cíl jinak odložil, ale zdroj byl null
, Declined vrátí se místo toho.
Pokud se cíl pokusil zprávu přijmout, ale zmeškal ji kvůli zdroji, který zprávu doručuje do jiného cíle nebo ji jednoduše zahodí, NotAvailable vrátí se.
Pokud se cíl rozhodl zprávu přijmout, Declined vrátí se. Pokud se cíl rozhodl zprávu přijmout a nikdy nepřijme jinou zprávu z tohoto zdroje, DecliningPermanently vrátí se.
Implementuje
Výjimky
Není messageHeader
platný.
-nebo- consumeToAccept
může být true pouze v případě, že je k dispozici s hodnotou non-null source
.