c# iterátor segítség

Fórumok

Hello!
A következő kódban MelysegiBejárásban meghívott iteratornál hibát jelez, de nem tudom, hogy mi a gond, valahogy nem egyezik meg az iterátor típusa?
Akinek van ötlete szívesen fogadom!
Egy két deklaráció hiányzik, mert az mindenkinek egyértelmü :)


class MelysegiBejaras
{
         MBnode nodes;

        public void MelysegiB(Hashtable ht, Point s)
        {
           
            nodeArcList = ht;
            start = s;
           
            foreach (DictionaryEntry de in nodeArcList)
            {
                nodes.Add((Point)de.Key, 0, 0, 0, nil);
            }
            nodes.Set(start, 0, 0, 0, nil);
            msz = 0;
            bsz = 0;
           //ez az iterator nem müködik
            foreach (DictionaryEntry de in nodes)
            {
              
            }
        }
    }
    class MBnode
    {
        Hashtable nodeMB;
        internal sealed class Unit
        {
            public Unit(int m, int b, int c, Point p) { mszam = m; bszam = b; color = c; pont = p; }
            public int mszam;
            public int bszam;
            public int color;
            private Point pont;
          
            public Point MyPoint
            {
                get { return pont; }
                set { pont = value; }
            }           
        }       

        public MBnode()
        {
            nodeMB = new Hashtable();
        }

        public void Add(Point p, int m, int b, int c, Point szp)
        {
            nodeMB.Add(p, new Unit(m,b,c,szp) );
        }

             
        public IEnumerator GetEnumerator()
        {
            foreach (DictionaryEntry de in nodeMB)
            {
                yield return de.Key;
            }

        }
    }
}

Köszönöm a segítséget!

Hozzászólások

nil??? :)

Az MBnode osztály GetEnumerator()-a a belső Hashtable kulcsain iterál végig, azok pedig Point példányok.
Vagy az enumerátort írd át, vagy foreach (Point p in nodes)...

Ez AlgA I. 2. kötprog?

--
Az emberi tudás mindenkié!