2014-07-08 66 views
6

我想知道。我怎樣才能刪除塊之間的鏈接?換一種說法。我想得到LinkTo的反面。TPL Dataflow如何刪除塊之間的鏈接

我想寫一個基於tlp數據流的記錄器。

我寫了這個接口,並希望在需要時刪除ILogListener的訂閱。

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

回答

7

當您鏈接塊:

var link = someSourceBlock.LinkTo(someTargetBlock); 

你實現IDisposable返回值。

要殺死鏈接,只需處理該返回值:

link.Dispose(); 

.LinkTo文件(特別是關於return語句的部分):

返回值

類型:System.IDisposable

IDisposable,在調用Dis姿勢,將取消目標與源的關聯。