本文為機器翻譯文章。如需檢視英文版,請選取 [原文] 核取方塊。您也可以將滑鼠指標移到文字上,即可在快顯視窗顯示英文原文。
譯文
原文

TransformBlock<TInput, TOutput>.ITargetBlock<TInput>.OfferMessage 方法 (DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean)

 

提供訊息 ITargetBlock<TInput>, ,讓目標有機會使用或延後的訊息。

命名空間:   System.Threading.Tasks.Dataflow
組件:  System.Threading.Tasks.Dataflow (於 System.Threading.Tasks.Dataflow.dll)

DataflowMessageStatus ITargetBlock<TInput>.OfferMessage(
	DataflowMessageHeader messageHeader,
	TInput messageValue,
	ISourceBlock<TInput> source,
	bool consumeToAccept
)

參數

messageHeader
Type: System.Threading.Tasks.Dataflow.DataflowMessageHeader

A DataflowMessageHeader 執行個體,表示所提供的訊息的標頭。

messageValue
Type: TInput

訊息所提供的值。

source
Type: System.Threading.Tasks.Dataflow.ISourceBlock<TInput>

ISourceBlock<TOutput> 提供訊息。 這可能是 null

consumeToAccept
Type: System.Boolean

true 如果目標必須呼叫 ConsumeMessage 以同步方式呼叫期間 ITargetBlock<TInput>.OfferMessage, ,先前傳回 Accepted, ,以使用訊息。

傳回值

Type: System.Threading.Tasks.Dataflow.DataflowMessageStatus

所提供的訊息狀態。 如果訊息已接受的目標, Accepted 會傳回來源應該再使用所提供的訊息,因為現在它是由目標。 如果目標已延後訊息 Postponed 會傳回做為目標可能會稍後嘗試使用或保留訊息的通知; 同時,在來源仍然擁有訊息及可能提供其他區塊。

如果目標會有否則延後,但來源 null, ,Declined 改為傳回。

如果目標接受訊息但遺漏了來源傳遞訊息給另一個目標,或只捨棄,因為 NotAvailable 傳回。

如果目標選擇不接受訊息, Declined 會傳回。 如果目標選擇不接受訊息,永遠不會接受來自此來源,另一個訊息 DecliningPermanently 傳回。

Exception Condition
ArgumentException

messageHeader 無效。

- consumeToAccept 可能只會提供非 null,則為 true source

回到頁首
顯示: