示例#1
0
        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);
        }
示例#3
0
 public IDisposable Attach(IDistanceRecorderAlgorithm <TVertex, TEdge> algorithm)
 {
     //algorithm.TreeEdge += TreeEdge;
     algorithm.DiscoverVertex += DiscoverVertex;
     return(new DisposableAction(() => algorithm.DiscoverVertex -= DiscoverVertex));
 }