TPL Dataflow如何移除块之间的链接。

9

我想知道如何去除块之间的链接?换句话说,我想获得与LinkTo相反的效果。

我想基于tlp数据流编写一个记录器。

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

public interface ILogManager
{
    void RemoveListener(ILogListener listener);
}
1个回答

14

当你连接块时:

var link = someSourceBlock.LinkTo(someTargetBlock);

你会得到一个实现了IDisposable接口的返回值。

要取消连接,只需处理该返回值:

link.Dispose();

参见.LinkTo文档(特别是有关返回语句的部分):

返回值

类型:System.IDisposable

一个IDisposable,调用Dispose后将断开源与目标之间的链接。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接