IEnumerator IEnumerable.GetEnumerator() { IEnumerable <VirtualFileBase> files = new VirtualFileBase[0]; if (_requestedEntryType.HasFlag(RequestedEntryType.Files)) { files = files.Concat(this._dirInfo.EnumerateFiles().Select(_ => new RenderingVirtualFile(Path.Combine(virtualPath, _.Name), _.FullName, _))); } if (_requestedEntryType.HasFlag(RequestedEntryType.Directories)) { files = files.Concat(this._dirInfo.EnumerateDirectories().Select(_ => new RenderingVirtualDirectory(Path.Combine(virtualPath, _.Name), _.FullName, _))); } return(files.GetEnumerator()); }