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

时间:2014-07-08 12:22:38

标签: c# task-parallel-library tpl-dataflow

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

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

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

public interface ILogManager
{
    void RemoveListener(ILogListener listener);
}

1 个答案:

答案 0 :(得分:9)

链接块时:

var link = someSourceBlock.LinkTo(someTargetBlock);

您将获得一个实现IDisposable的返回值。

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

link.Dispose();

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

  

返回值

     

输入:System.IDisposable

     

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