public void Detach(IDistanceRecorderAlgorithm <TVertex, TEdge> algorithm) { if (algorithm == null) { throw new ArgumentNullException("arg"); } algorithm.TreeEdge -= new EdgeEventHandler <TVertex, TEdge>(this.TreeEdge); }
public void Attach(IDistanceRecorderAlgorithm <TVertex, TEdge> algorithm) { if (algorithm == null) { throw new ArgumentNullException("algorithm"); } algorithm.InitializeVertex += new VertexEventHandler <TVertex>(this.InitializeVertex); algorithm.DiscoverVertex += new VertexEventHandler <TVertex>(this.DiscoverVertex); algorithm.TreeEdge += new EdgeEventHandler <TVertex, TEdge>(this.TreeEdge); }
public IDisposable Attach(IDistanceRecorderAlgorithm <TVertex, TEdge> algorithm) { //algorithm.TreeEdge += TreeEdge; algorithm.DiscoverVertex += DiscoverVertex; return(new DisposableAction(() => algorithm.DiscoverVertex -= DiscoverVertex)); }