TPL Dataflow如何删除块之间的链接

use*_*245 7 c# task-parallel-library tpl-dataflow

我想知道.如何删除块之间的链接?换一种说法.我想与LinkTo相反.

我想写一个基于tlp数据流的记录器.

我编写了这个接口,并希望在需要时删除ILogListener的订阅.

public interface ILogManager
{
    void RemoveListener(ILogListener listener);
}
Run Code Online (Sandbox Code Playgroud)

spe*_*der 10

链接块时:

var link = someSourceBlock.LinkTo(someTargetBlock);
Run Code Online (Sandbox Code Playgroud)

你得到一个实现的返回值IDisposable.

要终止链接,只需处置该返回值:

link.Dispose();
Run Code Online (Sandbox Code Playgroud)

请参阅.LinkTo文档(特别是有关return语句的部分):

回报价值

键入:System.IDisposable

一个IDisposable,在调用Dispose时,将取消源与目标的链接.