Esempio n. 1
0
    public bool MoveNext()
    {
        var current = Current;

        if (ShouldRecurse(current))
        {
            EnumeratorStack.Push(GetDirectoryEnumerator(current as DirectoryInfo));
        }

        var moveNextSuccess = TopEnumerator.MoveNext();

        while (!moveNextSuccess && TopEnumerator != null)
        {
            EnumeratorStack.Pop();

            moveNextSuccess = TopEnumerator != null && TopEnumerator.MoveNext();
        }

        return(moveNextSuccess);
    }
Esempio n. 2
0
 public void Reset()
 {
     EnumeratorStack.Clear();
     EnumeratorStack.Push(GetDirectoryEnumerator(new DirectoryInfo(InitialPath)));
 }