BatchedJoinBlock<T1,T2> 类

定义

提供批处理指定数目输入的数据流块,这些输入为提供给目标的潜在不同的类型。

generic <typename T1, typename T2>
public ref class BatchedJoinBlock sealed : System::Threading::Tasks::Dataflow::IReceivableSourceBlock<Tuple<System::Collections::Generic::IList<T1> ^, System::Collections::Generic::IList<T2> ^> ^>, System::Threading::Tasks::Dataflow::ISourceBlock<Tuple<System::Collections::Generic::IList<T1> ^, System::Collections::Generic::IList<T2> ^> ^>
public sealed class BatchedJoinBlock<T1,T2> : System.Threading.Tasks.Dataflow.IReceivableSourceBlock<Tuple<System.Collections.Generic.IList<T1>,System.Collections.Generic.IList<T2>>>, System.Threading.Tasks.Dataflow.ISourceBlock<Tuple<System.Collections.Generic.IList<T1>,System.Collections.Generic.IList<T2>>>
type BatchedJoinBlock<'T1, 'T2> = class
    interface IReceivableSourceBlock<IList<'T1> * IList<'T2>>
    interface ISourceBlock<IList<'T1> * IList<'T2>>
    interface IDataflowBlock
type BatchedJoinBlock<'T1, 'T2> = class
    interface IDataflowBlock
    interface IReceivableSourceBlock<IList<'T1> * IList<'T2>>
    interface ISourceBlock<IList<'T1> * IList<'T2>>
Public NotInheritable Class BatchedJoinBlock(Of T1, T2)
Implements IReceivableSourceBlock(Of Tuple(Of IList(Of T1), IList(Of T2))), ISourceBlock(Of Tuple(Of IList(Of T1), IList(Of T2)))

类型参数

T1

指定由块的第一个目标接受的数据类型。

T2

指定由块的第二个目标接受的数据类型。

继承
BatchedJoinBlock<T1,T2>
实现

注解

备注

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

构造函数

BatchedJoinBlock<T1,T2>(Int32)

初始化指定配置的新 BatchedJoinBlock<T1,T2>

BatchedJoinBlock<T1,T2>(Int32, GroupingDataflowBlockOptions)

初始化指定配置的新 BatchedJoinBlock<T1,T2>

属性

BatchSize

获取生成此 BatchedJoinBlock<T1,T2> 的批大小。

Completion

获取 Task,其表示数据流块的操作和完成。

OutputCount

获取可从此块中接收的输出项的数量。

Target1

获取可用于提供第一种类型的消息的目标。

Target2

获取可用于提供第二种类型的消息的目标。

方法

Complete()

通知 IDataflowBlock,告知其不应该生成任何更多的消息也不应使用任何更多的延迟消息。

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
LinkTo(ITargetBlock<Tuple<IList<T1>,IList<T2>>>, DataflowLinkOptions)

ISourceBlock<TOutput> 链接到指定的 ITargetBlock<TInput>

MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
ToString()

返回一个字符串,该字符串表示此 IDataflowBlock 实例的格式化名称。

TryReceive(Predicate<Tuple<IList<T1>,IList<T2>>>, Tuple<IList<T1>,IList<T2>>)

IReceivableSourceBlock<TOutput> 中尝试同步接收可用输出项。

TryReceiveAll(IList<Tuple<IList<T1>,IList<T2>>>)

IReceivableSourceBlock<TOutput> 中尝试同步接收所有可用项。

显式接口实现

IDataflowBlock.Fault(Exception)

导致 IDataflowBlockFaulted 状态下完成。

ISourceBlock<Tuple<IList<T1>,IList<T2>>>.ConsumeMessage(DataflowMessageHeader, ITargetBlock<Tuple<IList<T1>,IList<T2>>>, Boolean)

DataflowMessageHeader 标识的消息的所有权从此 ISourceBlock<TOutput> 实例传递到 ITargetBlock<TInput>

ISourceBlock<Tuple<IList<T1>,IList<T2>>>.ReleaseReservation(DataflowMessageHeader, ITargetBlock<Tuple<IList<T1>,IList<T2>>>)

释放将 DataflowMessageHeader 标识的消息的所有权从此 ISourceBlock<TOutput> 传递到 ITargetBlock<TInput> 的权限。

ISourceBlock<Tuple<IList<T1>,IList<T2>>>.ReserveMessage(DataflowMessageHeader, ITargetBlock<Tuple<IList<T1>,IList<T2>>>)

保留将 DataflowMessageHeader 标识的消息的所有权从此 ISourceBlock<TOutput> 传递到 ITargetBlock<TInput> 的权限。

扩展方法

AsObservable<TOutput>(ISourceBlock<TOutput>)

IObservable<T> 创建新的 ISourceBlock<TOutput> 抽象。

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>,用于以异步方式监视可用输出的源。

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)

异步从指定的数据源中接收值,提供标记以取消操作并观察可选的超时间隔。

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

尝试从 ISourceBlock<TOutput> 中同步接收一个项目。

适用于