2014-07-08 16 views
6

Ich würde gerne wissen. Wie kann ich die Verbindung zwischen den Blöcken entfernen? Mit anderen Worten. Ich möchte das Gegenteil von LinkTo erreichen.TPL Dataflow, wie die Verbindung zwischen den Blöcken zu entfernen

Ich möchte einen Logger basierend auf TLP-Datenfluss schreiben.

Ich schrieb diese Schnittstelle und möchte ein Abonnement für ILogListener löschen, wenn es benötigt wurde.

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

Antwort

7

Wenn Sie Blöcke verlinken:

var link = someSourceBlock.LinkTo(someTargetBlock); 

Sie erhalten einen Rückgabewert, der IDisposable implementiert.

den Link zu töten, verfügen nur dieser Rückgabewert:

link.Dispose(); 

Siehe .LinkTo Dokumentation (insbesondere den Abschnitt über die return-Anweisung):

Rückgabewert

Typ: System.IDisposable

Ein IDisposable, das beim Aufruf von Dis pose, wird die Quelle vom Ziel trennen.

Verwandte Themen