IPropagatorBlock<TInput,TOutput> 介面

定義

代表一個資料流區塊,同時是資料的目標與資料來源。

generic <typename TInput, typename TOutput>
public interface class IPropagatorBlock : System::Threading::Tasks::Dataflow::ISourceBlock<TOutput>, System::Threading::Tasks::Dataflow::ITargetBlock<TInput>
public interface IPropagatorBlock<in TInput,out TOutput> : System.Threading.Tasks.Dataflow.ISourceBlock<out TOutput>, System.Threading.Tasks.Dataflow.ITargetBlock<in TInput>
type IPropagatorBlock<'Input, 'Output> = interface
    interface ITargetBlock<'Input>
    interface IDataflowBlock
    interface ISourceBlock<'Output>
type IPropagatorBlock<'Input, 'Output> = interface
    interface IDataflowBlock
    interface ISourceBlock<'Output>
    interface ITargetBlock<'Input>
Public Interface IPropagatorBlock(Of In TInput, Out TOutput)
Implements ISourceBlock(Of Out TOutput), ITargetBlock(Of In TInput)

類型參數

TInput

指定 所接受 IPropagatorBlock<TInput,TOutput>的資料類型。

這是反變數的型別參數。 也就是說,您可以使用您指定的類型,或衍生程度較低的任何類型。 如需共變數與反變數的詳細資訊,請參閱泛型中的共變數與反變數
TOutput

指定由 IPropagatorBlock<TInput,TOutput>.

這是共變數的型別參數。 也就是說,您可以使用您指定的類型,或衍生程度較高的任何類型。 如需共變數與反變數的詳細資訊,請參閱泛型中的共變數與反變數
衍生
實作

備註

Note

TPL 資料流連結庫 (System.Threading.Tasks.Dataflow 命名空間) 不會與 .NET 一起散發。 若要在 Visual Studio 中安裝 System.Threading.Tasks.Dataflow 命名空間,請開啟您的專案,從 [專案] 功能表選擇 [管理 NuGet 套件],然後在線搜尋 System.Threading.Tasks.Dataflow 套件。 或者,若要使用 .NET Core CLI安裝它,請執行 dotnet add package System.Threading.Tasks.Dataflow

屬性

名稱 Description
Completion

會得到 Task 一個,代表非同步操作及資料流區塊的完成。

(繼承來源 IDataflowBlock)

方法

名稱 Description
Complete()

向 S IDataflowBlock 發出訊號,表示不應再接收或產生任何訊息,也不應再消費延後訊息。

(繼承來源 IDataflowBlock)
ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean)

被連結ITargetBlock<TInput>者召喚接受並消費先前提供的DataflowMessageHeader服務ISourceBlock<TOutput>

(繼承來源 ISourceBlock<TOutput>)
Fault(Exception)

導致 在 IDataflowBlock 某個 Faulted 狀態下完成。

(繼承來源 IDataflowBlock)
LinkTo(ITargetBlock<TOutput>, DataflowLinkOptions)

連結 ISourceBlock<TOutput> 至指定的 ITargetBlock<TInput>

(繼承來源 ISourceBlock<TOutput>)
OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean)

向 ,提供訊息 ITargetBlock<TInput>,讓目標有機會接收或延後該訊息。

(繼承來源 ITargetBlock<TInput>)
ReleaseReservation(DataflowMessageHeader, ITargetBlock<TOutput>)

被連結 ITargetBlock<TInput> 者呼叫,釋放先前被保留 DataflowMessageHeaderISourceBlock<TOutput>

(繼承來源 ISourceBlock<TOutput>)
ReserveMessage(DataflowMessageHeader, ITargetBlock<TOutput>)

由連結ITargetBlock<TInput>者致電預訂,之前由此DataflowMessageHeader服務ISourceBlock<TOutput>提供。

(繼承來源 ISourceBlock<TOutput>)

擴充方法

名稱 Description
AsObservable<TOutput>(ISourceBlock<TOutput>)

在 上建立一個新的IObservable<T>抽象。ISourceBlock<TOutput>

AsObserver<TInput>(ITargetBlock<TInput>)

在 上建立一個新的IObserver<T>抽象。ITargetBlock<TInput>

LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>, DataflowLinkOptions, Predicate<TOutput>)

使用指定的過濾器將 連結 ISourceBlock<TOutput> 到 指定 ITargetBlock<TInput> 內容。

LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>, Predicate<TOutput>)

使用指定的過濾器將 連結 ISourceBlock<TOutput> 到 指定 ITargetBlock<TInput> 內容。

LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>)

連結 ISourceBlock<TOutput> 至指定的 ITargetBlock<TInput>

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>, CancellationToken)

提供非同步監控來源可用輸出的 A Task<TResult>

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

提供非同步監控來源可用輸出的 A Task<TResult>

Post<TInput>(ITargetBlock<TInput>, TInput)

發佈一項物品到 ITargetBlock<TInput>.

Receive<TOutput>(ISourceBlock<TOutput>, CancellationToken)

同步接收指定來源的值,並提供一個令牌以取消該操作。

Receive<TOutput>(ISourceBlock<TOutput>, TimeSpan, CancellationToken)

同步接收指定來源的值,提供取消操作的標記,並觀察可選的逾時間隔。

Receive<TOutput>(ISourceBlock<TOutput>, TimeSpan)

同步接收指定來源的值,並觀察可選的逾時期。

Receive<TOutput>(ISourceBlock<TOutput>)

同步接收指定來源的值。

ReceiveAsync<TOutput>(ISourceBlock<TOutput>, CancellationToken)

非同步接收指定來源的值,並提供一個令牌以取消操作。

ReceiveAsync<TOutput>(ISourceBlock<TOutput>, TimeSpan, CancellationToken)

非同步接收指定來源的值,提供取消操作的標記,並觀察可選的逾時間隔。

ReceiveAsync<TOutput>(ISourceBlock<TOutput>, TimeSpan)

非同步接收指定來源的值,並觀察可選的逾時期。

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

非同步地從指定來源接收一個值。

SendAsync<TInput>(ITargetBlock<TInput>, TInput, CancellationToken)

非同步地向目標訊息區塊提供訊息,允許延後。

SendAsync<TInput>(ITargetBlock<TInput>, TInput)

非同步地向目標訊息區塊提供訊息,允許延後。

適用於