語言

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時才可能 。source

適用於