DataflowBlock 类

定义

提供一组静态(在 Visual Basic 中共享)方法来处理数据流块。

public ref class DataflowBlock abstract sealed
public static class DataflowBlock
type DataflowBlock = class
Public Module DataflowBlock
继承
DataflowBlock

注解

注释

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

方法

名称 说明
AsObservable<TOutput>(ISourceBlock<TOutput>)

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

AsObserver<TInput>(ITargetBlock<TInput>)

创建一个新的IObserver<T>抽象。ITargetBlock<TInput>

Choose<T1,T2,T3>(ISourceBlock<T1>, Action<T1>, ISourceBlock<T2>, Action<T2>, ISourceBlock<T3>, Action<T3>, DataflowBlockOptions)

监视三个数据流源,调用所提供的处理程序,以便先为哪个源提供数据。

Choose<T1,T2,T3>(ISourceBlock<T1>, Action<T1>, ISourceBlock<T2>, Action<T2>, ISourceBlock<T3>, Action<T3>)

监视三个数据流源,调用所提供的处理程序,以便先为哪个源提供数据。

Choose<T1,T2>(ISourceBlock<T1>, Action<T1>, ISourceBlock<T2>, Action<T2>, DataflowBlockOptions)

监视两个数据流源,调用所提供的处理程序,以便先为哪个源提供数据。

Choose<T1,T2>(ISourceBlock<T1>, Action<T1>, ISourceBlock<T2>, Action<T2>)

监视两个数据流源,调用所提供的处理程序,以便先为哪个源提供数据。

Encapsulate<TInput,TOutput>(ITargetBlock<TInput>, ISourceBlock<TOutput>)

将目标和源封装到单个传播器中。

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>

NullTarget<TInput>()

获取一个目标块,该块同步接受提供给它的所有消息并删除它们。

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

提供一个 Task<TResult> 异步监视可用输出的源。

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

提供一个 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>)

从指定的源同步接收值。

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

创建一个允许从源接收所有数据的项 IAsyncEnumerable<T>

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)

以异步方式向目标消息块提供消息,从而允许推迟。

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

尝试从 . ISourceBlock<TOutput>中同步接收项。

适用于