public static void EnumFiles(this DirectoryInfo directory, Action <FileInfo> action, CancellationToken cancellation) { if (directory != null) { if (cancellation.IsCancellationRequested) { return; } foreach (FileSystemInfo item in directory.EnumerateFileSystemInfos()) { if (cancellation.IsCancellationRequested) { return; } DirectoryInfo directoryInfo = item as DirectoryInfo; if (directoryInfo != null) { directoryInfo.EnumFiles(action, cancellation); } else { action?.Invoke(item as FileInfo); } } } }
public static void EnumFiles(this DirectoryInfo directory, ICollection <FileInfo> filecollect, CancellationToken cancellation) { directory.EnumFiles(_p => { filecollect?.Add(_p); }, cancellation); }
public static void EnumFiles(this DirectoryInfo directory, ICollection <FileInfo> filecollect) { directory.EnumFiles(_p => { filecollect?.Add(_p); return(true); }); }
public static void EnumFiles(this DirectoryInfo directory, Func <FileInfo, bool> action) { if (directory != null) { foreach (FileSystemInfo item in directory.EnumerateFileSystemInfos()) { DirectoryInfo directoryInfo = item as DirectoryInfo; if (directoryInfo != null) { directoryInfo.EnumFiles(action); } else { bool?continu = action?.Invoke(item as FileInfo); if (continu != true) { break; } } } } }