共用方式為


BatchBlock<T> 類別

定義

提供資料流程區塊,將輸入批次處理到陣列。

generic <typename T>
public ref class BatchBlock sealed : System::Threading::Tasks::Dataflow::IPropagatorBlock<T, cli::array <T> ^>, System::Threading::Tasks::Dataflow::IReceivableSourceBlock<cli::array <T> ^>, System::Threading::Tasks::Dataflow::ISourceBlock<cli::array <T> ^>, System::Threading::Tasks::Dataflow::ITargetBlock<T>
public sealed class BatchBlock<T> : System.Threading.Tasks.Dataflow.IPropagatorBlock<T,T[]>, System.Threading.Tasks.Dataflow.IReceivableSourceBlock<T[]>, System.Threading.Tasks.Dataflow.ISourceBlock<T[]>, System.Threading.Tasks.Dataflow.ITargetBlock<T>
type BatchBlock<'T> = class
    interface IPropagatorBlock<'T, 'T[]>
    interface ITargetBlock<'T>
    interface IDataflowBlock
    interface ISourceBlock<'T[]>
    interface IReceivableSourceBlock<'T[]>
type BatchBlock<'T> = class
    interface IDataflowBlock
    interface IPropagatorBlock<'T, 'T[]>
    interface ISourceBlock<'T[]>
    interface ITargetBlock<'T>
    interface IReceivableSourceBlock<'T[]>
Public NotInheritable Class BatchBlock(Of T)
Implements IPropagatorBlock(Of T, T()), IReceivableSourceBlock(Of T()), ISourceBlock(Of T()), ITargetBlock(Of T)

類型參數

T

指定將放入批次的資料型別。

繼承
BatchBlock<T>
實作

備註

注意

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) 加以安裝。

建構函式

BatchBlock<T>(Int32)

使用指定的批次大小,初始化新的 BatchBlock<T>

BatchBlock<T>(Int32, GroupingDataflowBlockOptions)

使用指定的批次大小、拒絕選項和封鎖選項,初始化新的 BatchBlock<T>

屬性

BatchSize

取得此 BatchBlock<T> 產生的批次大小。

Completion

取得 Task,其表示非同步作業和資料流程區塊的完成。

OutputCount

取得可從此區塊接收的輸出項目數目。

方法

Complete()

IDataflowBlock 發出訊號,表示不應接受也不應產生任何其他訊息,也不應使用任何其他延後的訊息。

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
LinkTo(ITargetBlock<T[]>, DataflowLinkOptions)

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

MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
ToString()

傳回表示這個 IDataflowBlock 執行個體之格式化名稱的字串。

TriggerBatch()

觸發BatchBlock<T>以初始化批次處理作業,即使目前佇列中或延後的項目數目小於BatchSize

TryReceive(Predicate<T[]>, T[])

嘗試以同步方式從 IReceivableSourceBlock<TOutput> 接收可用的輸出項目。

TryReceiveAll(IList<T[]>)

嘗試以同步方式從 IReceivableSourceBlock<TOutput> 接收所有可用項目。

明確介面實作

IDataflowBlock.Fault(Exception)

造成 IDataflowBlockFaulted 的狀態中完成。

ISourceBlock<T[]>.ConsumeMessage(DataflowMessageHeader, ITargetBlock<T[]>, Boolean)

由連結的 ITargetBlock<TInput> 呼叫以接受及使用先前由此 ISourceBlock<TOutput> 提供的 DataflowMessageHeader

ISourceBlock<T[]>.ReleaseReservation(DataflowMessageHeader, ITargetBlock<T[]>)

由連結的ITargetBlock<TInput>呼叫以釋出先前由此 DataflowMessageHeader 保留的 ISourceBlock<TOutput>

ISourceBlock<T[]>.ReserveMessage(DataflowMessageHeader, ITargetBlock<T[]>)

由連結的ITargetBlock<TInput>呼叫以保留先前由此 DataflowMessageHeader 提供的 ISourceBlock<TOutput>

ITargetBlock<T>.OfferMessage(DataflowMessageHeader, T, ISourceBlock<T>, Boolean)

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

擴充方法

AsObservable<TOutput>(ISourceBlock<TOutput>)

建立在 IObservable<T> 之上的新 ISourceBlock<TOutput> Abstraction。

AsObserver<TInput>(ITargetBlock<TInput>)

建立在 ITargetBlock<TInput> 之上的新 IObserver<T> Abstraction。

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

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

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

使用指定的篩選器,將 ISourceBlock<TOutput> 連結到 指定的 ITargetBlock<TInput>

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

使用指定的篩選器,將 ISourceBlock<TOutput> 連結到指定的 ITargetBlock<TInput>

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

提供 Task<TResult>,以非同步方式監視可用輸出的來源。

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

提供 Task<TResult>,以非同步方式監視可用輸出的來源。

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

將項目張貼至 ITargetBlock<TInput>

Receive<TOutput>(ISourceBlock<TOutput>)

以同步方式接收來自指定之來源的值。

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

同步接收指定之來源的值,並提供語彙基元取消作業。

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

同步接收指定之來源的值,觀察選擇性逾時期限。

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

同步接收指定之來源的值,提供語彙基元取消作業並觀察選擇性逾時間隔。

ReceiveAllAsync<TOutput>(IReceivableSourceBlock<TOutput>, CancellationToken)

建立 , IAsyncEnumerable<T> 以接收來自來源的所有資料。

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

以非同步方式接收來自指定之來源的值。

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

非同步接收指定之來源的值,並提供語彙基元取消作業。

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

非同步接收指定之來源的值,觀察選擇性逾時期限。

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

非同步接收指定之來源的值,提供語彙基元取消作業並觀察選擇性逾時間隔。

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

非同步提供訊息給目標訊息區,並允許延遲。

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

非同步提供訊息給目標訊息區,並允許延遲。

TryReceive<TOutput>(IReceivableSourceBlock<TOutput>, TOutput)

嘗試以同步方式從 ISourceBlock<TOutput> 接收項目。

適用於