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)); } }
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); }
internal void Reset() { _current = null; _enumerator?.Dispose(); }
public void Reenqueue() { _current = _enumerator.Current; }