protected override IEnumerable <ProjectedFileSystemEntry> GetEntries(string path)
        {
            if (AreFileNamesEqual(path, ""))
            {
                yield return(ProjectedFileSystemEntry.Directory("folder"));

                yield return(ProjectedFileSystemEntry.File("a", 1));

                yield return(ProjectedFileSystemEntry.File("b", 2));
            }
            else if (AreFileNamesEqual(path, "folder"))
            {
                yield return(ProjectedFileSystemEntry.File("c", 3));
            }
        }
Пример #2
0
        public ProjectedFileSystemEntry GetNextEntry()
        {
            if (_current != null)
            {
                var current = _current;
                _current = null;
                return(current);
            }

            if (_enumerator == null)
            {
                _enumerator = Entries.GetEnumerator();
            }

            if (_enumerator.MoveNext())
            {
                return(_enumerator.Current);
            }

            return(null);
        }
Пример #3
0
 internal void Reset()
 {
     _current = null;
     _enumerator?.Dispose();
 }
Пример #4
0
 public void Reenqueue()
 {
     _current = _enumerator.Current;
 }