-
Notifications
You must be signed in to change notification settings - Fork 1
FileSystem
There is a rich functionality for working with the file system implemented as extension methods in the FileSystemInfoExtension class and allows you to enumerate file system objects (files and directories) starting from the specified directory using custom filtering and sorting. Methods for copying, moving and deleting these objects are also implemented. Methods with the Ex suffix in the searchPattern delegate, filtering predicate and output selector (for custom types) take the list of parent directories from the start directory. Thus, there is ready information about the nesting level of the current object and its parent directories. For methods of copying, moving, and deleting file system objects the action is specified by a delegate parameter that takes a file system object and returns a TryOut<T> object. A true value in the Success property of this object indicates that the action should be performed with the options from the Value property, a false value in the Success indicates that the action should be skipped for this object.
The following describes the common parameters used in these methods:
startDirectoryInfo DirectoryInfo
The starting directory from which file system objects are enumerated.
searchPattern string
The search string to match against the names of files in path. This parameter can contain a combination of valid literal path and wildcard (* and ?) characters, but it doesn't support regular expressions.
Null value is not allowed for compatibility with the standard API..
searchPatternSelector Delegate
Delegate that returns a SearchPattern.
If the delegate returns null string as the search pattern for the current directory then no filesystem entries are searched for in that directory.
Null value is not allowed.
If the method does not specify the searchPattern or searchPatternSelector parameter, then in this case the search pattern ***** is used, i.e. all elements will be output.
searchOption SearchOption
One of the enumeration values that specifies whether the search operation should include only the current directory or should include all subdirectories.
maxDepth int
The maximum descent depth to enumerate file system objects. 0 - depth of the start directory node.
If no searchOption or maxDepth traversal depth parameter is specified in these extension methods, then by default it is considered that the traversal is performed to the maximum possible depth of the subtree.
traversalOptions FileSystemTraversalOptions
Enum type flags value specifying file system object enumeration options.
-
None- no action. -
ExcludeStartDirectory- excludes the start directory from the resulting list of objects. -
ExcludeEmptyDirectory- excludes empty directories from the resulting list of objects. If a directory contains empty subdirectories, then it will also be considered empty and will be excluded from the list. -
Refresh- causes the state of file system objects to be updated before they are used directly. In some cases, this will avoid the generation of exceptions in the presence of logical errors in the actions performed. For example, when you enumerate a directory in depth and move it or delete it along with its contents. After the content directory is moved or deleted, the underlying items in the list will no longer be valid. When this option is set, the state of the objects will be updated and actions to move or delete them will be skipped. But the correct solution would be to describe a recursive action with each element, or in the case of moving or deleting a directory with contents, limit the depth of enumeration descent. -
ShowFileOccurrence- shows occurrence of file objects. -
ShowDirectoryEnter- shows the directory objects after entering its from the top level (preorder traversal). -
ShowDirectoryLeave- shows the directory objects before leaving its to the top level (postorder traversal). -
ShowDirectoryOccurrence(ShowDirectoryEnter | ShowDirectoryLeave) - shows both occurrences (after entering and before leaving) of directory objects. -
ShowAllOccurrence(ShowFileOccurrence | ShowDirectoryOccurrence) - shows all occurrences of file system objects (files and directories). -
PreorderTraversal(ShowFileOccurrence | ShowDirectoryEnter) - specifies a combination of flags for preorder traversal of the file system object tree. -
PostorderTraversal(ShowFileOccurrence | ShowDirectoryLeave) - specifies a combination of flags for postorder traversal of the file system object tree.
The presence of this parameter is a hallmark of all extension methods described here.
The methods of copying, moving, or deleting must be passed a delegate that returns options for the corresponding operation for each object from the enumeration. This delegate must return a TryOut<TOp> structure where TOp is the type of the options for the corresponding operation. The Success property with a value of false reports skipping the operation for the specified object, the value of true and options of type TOp will set the operation execution mode for the specified object. The options for the copy, move, and delete operations are described below:
traversalMarker FileSystemTraversalMarker
Enum type value specifying file system object enumeration marker.
-
None- object is not marked. -
EnterDirectory- marks a directory object after entering it from the top level. -
LeaveDirectory- marks a directory object before leaving it to the top level.
manipulationOptions FileSystemManipulationOptions
Enum type flags value specifying file system object manipulation options.
-
None- no action. -
EnsureDirectory- ensures that the directory is created before using it. -
CleanupDirectory- ensures that an empty directory is deleted after it has been used. -
ClearReadOnly- clears the readonly attribute for the specified file system objects. -
SkipEmptyDirectory- skips any processing for empty directories. -
Refresh- causes the state of file system objects to be updated before they are used directly. In some cases, this will avoid the generation of exceptions in the presence of logical errors in the actions performed. For example, when you enumerate a directory in depth and move it or delete it along with its contents. After the content directory is moved or deleted, the underlying items in the list will no longer be valid. When this option is set, the state of the objects will be updated and actions to move or delete them will be skipped. But the correct solution would be to describe a recursive action with each element, or in the case of moving or deleting a directory with contents, limit the depth of enumeration descent.
manipulationMarker FileSystemManipulationMarker
Enum type flags value specifying file system object manipulation marker.
-
None- no action -
ElementProcessed- filesystem element was processed successfully. -
ElementError- an error occurred while processing a file system element. -
DirectoryCreated- before processing the file system element, the creation of the necessary directories was ensured. -
DirectoryDeleted- after processing a directory, it was deleted as empty, or after processing a file, the directory containing it was deleted as empty.
maxConcurrents int
Specifies the maximum number of concurrently executed actions. This parameter is used in methods for manipulating file system objects. Parallel execution is performed only for file methods. Directories are processed sequentially.
errorHandler Delegate
A delegate that allows you to specify external error handling. Should return boolean true to suppress propagation of the raised exception.
public readonly record struct MarkedInfo<TInfo>
where TInfo : FileSystemInfo
{
public TInfo Info { get; }
public FileSystemTraversalMarker TraversalMarker { get; }
}-
IEnsuringOptionsThe implementation of this interface by a structure or class of parameters in methods to work with file system objects allows you to specify a list of directories required to perform this operation, which will be created before its execution. Directories are only created when theEnsureDirectoryflag is set in the manipulationOptions parameter. In the case of directory creation, themanipulationMarkervalue of typeFileSystemManipulationMarkerfollowed by each processed file system element is set to theDirectoryCreatedflag.
public interface IEnsuringOptions
{
IEnumerable<string> EnsuringDirectories { get; }
}-
IProcessingOptionsThe implementation of this interface by a structure or class of parameters in methods to work with file system objects and specifying the implementedNoProcessingflag allows you to prohibit their main processing. However, it does not suppress the pre-creation of directories or the deletion of empty directories at the end of processing.
public interface IProcessingOptions
{
bool NoProcessing { get; }
}-
TransferOptionsThe type containing parameters for methods to copy and move file system objects. The copy methods only work on files, while the move methods work on both files and directories.
public record struct TransferOptions : IEnsuringOptions, IProcessingOptions
{
// Destination path
public string? DestinationPath { get; init; }
// Overwrite target object if already exists with same name.
public bool Overwrite { get; init; }
// Allows you to prohibit the processing of this element.
public bool NoProcessing { get; init; }
}-
ReplaceOptionsThe type containing parameters for methods to replace file system objects. The replace methods only work on files.
public readonly record struct ReplaceOptions : IEnsuringOptions, IProcessingOptions
{
// Destination path
public string DestinationPath { get; init; }
// Destination backup path
public string? DestinationBackupPath { get; init; }
// Ignore merge errors (such as attributes and ACLs) from the replaced file to the replacement file
public bool IgnoreMetadataErrors { get; init; }
// Allows you to prohibit the processing of this element.
public bool NoProcessing { get; init; }
}-
DeleteOptionsThe type containing parameters for methods to delete file system objects. The delete methods work on both files and directories.
public readonly record struct DeleteOptions : IProcessingOptions
{
// Delete directory recursively.
public bool Recursive { get; init; }
// Allows you to prohibit the processing of this element.
public bool NoProcessing { get; init; }
}-
ReplicateOptionsThe type containing parameters for methods to replicate directories.
public readonly record struct ReplicateOptions : IEnsuringOptions, IProcessingOptions
{
public string DestinationPath { get; init; }
}-
InfoResultThe result type for each file system object returned by the Delete and Cleanup methods.
public readonly record struct InfoResult<TInfo>
where TInfo : FileSystemInfo
{
// File system info
public TInfo Info { get; }
// A marker to traverse the tree structure object of the file system.
public FileSystemTraversalMarker TraversalMarker { get; }
// A marker of the operations applied to the specified file system object.
public FileSystemManipulationMarker ManipulationMarker { get; }
}-
TransferResultThe result type for each file system object returned by the copy or move methods.
public readonly record struct TransferResult<TInfo>
where TInfo : FileSystemInfo
{
// Source file system info
public TInfo SourceInfo { get; }
// Destination file system info
public TInfo? DestinationInfo { get; }
// A marker to traverse the tree structure object of the file system.
public FileSystemTraversalMarker TraversalMarker { get; }
// A marker of the operations applied to the specified file system object.
public FileSystemManipulationMarker ManipulationMarker { get; }
}-
ReplaceResultThe result type for each file system object returned by the replace methods.
public readonly record struct ReplaceResult<TInfo>
where TInfo : FileSystemInfo
{
// Source file system info
public TInfo SourceInfo { get; }
// Destination file system info
public TInfo? DestinationInfo { get; }
// Destination backup file system info
public TInfo? DestinationBackupInfo { get; }
// A marker to traverse the tree structure object of the file system.
public FileSystemTraversalMarker TraversalMarker { get; }
// A marker of the operations applied to the specified file system object.
public FileSystemManipulationMarker ManipulationMarker { get; }
}There are several categories of methods:
-
EnumerateFileSystemInfosmethods - enumerate filesystem objects.Regular methods
public static IEnumerable<FileSystemInfo> EnumerateFileSystemInfos(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions); public static IEnumerable<FileSystemInfo> EnumerateFileSystemInfos(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions); public static IEnumerable<FileSystemInfo> EnumerateFileSystemInfos(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions); public static IEnumerable<FileSystemInfo> EnumerateFileSystemInfos(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions); public static IEnumerable<FileSystemInfo> EnumerateFileSystemInfos(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions); public static IEnumerable<FileSystemInfo> EnumerateFileSystemInfos(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions); public static IEnumerable<FileSystemInfo> EnumerateFileSystemInfos(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions); public static IEnumerable<FileSystemInfo> EnumerateFileSystemInfos(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, Predicate<FileSystemInfo>? predicate, Comparison<FileSystemInfo>? comparison); public static IEnumerable<FileSystemInfo> EnumerateFileSystemInfos(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<FileSystemInfo>? predicate, Comparison<FileSystemInfo>? comparison); public static IEnumerable<FileSystemInfo> EnumerateFileSystemInfos(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<FileSystemInfo>? predicate, Comparison<FileSystemInfo>? comparison); public static IEnumerable<FileSystemInfo> EnumerateFileSystemInfos(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<FileSystemInfo>? predicate, Comparison<FileSystemInfo>? comparison); public static IEnumerable<FileSystemInfo> EnumerateFileSystemInfos(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<FileSystemInfo>? predicate, Comparison<FileSystemInfo>? comparison); public static IEnumerable<FileSystemInfo> EnumerateFileSystemInfos(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<FileSystemInfo>? predicate, Comparison<FileSystemInfo>? comparison); public static IEnumerable<FileSystemInfo> EnumerateFileSystemInfos(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<FileSystemInfo>? predicate, Comparison<FileSystemInfo>? comparison); public static IEnumerable<FileSystemInfo> EnumerateFileSystemInfos(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, IPredicate<FileSystemInfo>? predicate, IComparer<FileSystemInfo>? comparer); public static IEnumerable<FileSystemInfo> EnumerateFileSystemInfos(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<FileSystemInfo>? predicate, IComparer<FileSystemInfo>? comparer); public static IEnumerable<FileSystemInfo> EnumerateFileSystemInfos(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<FileSystemInfo>? predicate, IComparer<FileSystemInfo>? comparer); public static IEnumerable<FileSystemInfo> EnumerateFileSystemInfos(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<FileSystemInfo>? predicate, IComparer<FileSystemInfo>? comparer); public static IEnumerable<FileSystemInfo> EnumerateFileSystemInfos(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<FileSystemInfo>? predicate, IComparer<FileSystemInfo>? comparer); public static IEnumerable<FileSystemInfo> EnumerateFileSystemInfos(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<FileSystemInfo>? predicate, IComparer<FileSystemInfo>? comparer); public static IEnumerable<FileSystemInfo> EnumerateFileSystemInfos(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<FileSystemInfo>? predicate, IComparer<FileSystemInfo>? comparer);
Regular methods with custom output
public static IEnumerable<TFileSystemInfo> EnumerateFileSystemInfos<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, Func<FileSystemInfo, FileSystemTraversalMarker, TFileSystemInfo> selector); public static IEnumerable<TFileSystemInfo> EnumerateFileSystemInfos<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Func<FileSystemInfo, FileSystemTraversalMarker, TFileSystemInfo> selector); public static IEnumerable<TFileSystemInfo> EnumerateFileSystemInfos<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, Func<FileSystemInfo, FileSystemTraversalMarker, TFileSystemInfo> selector); public static IEnumerable<TFileSystemInfo> EnumerateFileSystemInfos<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Func<FileSystemInfo, FileSystemTraversalMarker, TFileSystemInfo> selector); public static IEnumerable<TFileSystemInfo> EnumerateFileSystemInfos<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, Func<FileSystemInfo, FileSystemTraversalMarker, TFileSystemInfo> selector); public static IEnumerable<TFileSystemInfo> EnumerateFileSystemInfos<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Func<FileSystemInfo, FileSystemTraversalMarker, TFileSystemInfo> selector); public static IEnumerable<TFileSystemInfo> EnumerateFileSystemInfos<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, Func<FileSystemInfo, FileSystemTraversalMarker, TFileSystemInfo> selector); public static IEnumerable<TFileSystemInfo> EnumerateFileSystemInfos<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, Predicate<FileSystemInfo>? predicate, Comparison<FileSystemInfo>? comparison, Func<FileSystemInfo, FileSystemTraversalMarker, TFileSystemInfo> selector); public static IEnumerable<TFileSystemInfo> EnumerateFileSystemInfos<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<FileSystemInfo>? predicate, Comparison<FileSystemInfo>? comparison, Func<FileSystemInfo, FileSystemTraversalMarker, TFileSystemInfo> selector); public static IEnumerable<TFileSystemInfo> EnumerateFileSystemInfos<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<FileSystemInfo>? predicate, Comparison<FileSystemInfo>? comparison, Func<FileSystemInfo, FileSystemTraversalMarker, TFileSystemInfo> selector); public static IEnumerable<TFileSystemInfo> EnumerateFileSystemInfos<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<FileSystemInfo>? predicate, Comparison<FileSystemInfo>? comparison, Func<FileSystemInfo, FileSystemTraversalMarker, TFileSystemInfo> selector); public static IEnumerable<TFileSystemInfo> EnumerateFileSystemInfos<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<FileSystemInfo>? predicate, Comparison<FileSystemInfo>? comparison, Func<FileSystemInfo, FileSystemTraversalMarker, TFileSystemInfo> selector); public static IEnumerable<TFileSystemInfo> EnumerateFileSystemInfos<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<FileSystemInfo>? predicate, Comparison<FileSystemInfo>? comparison, Func<FileSystemInfo, FileSystemTraversalMarker, TFileSystemInfo> selector); public static IEnumerable<TFileSystemInfo> EnumerateFileSystemInfos<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<FileSystemInfo>? predicate, Comparison<FileSystemInfo>? comparison, Func<FileSystemInfo, FileSystemTraversalMarker, TFileSystemInfo> selector); public static IEnumerable<TFileSystemInfo> EnumerateFileSystemInfos<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, IPredicate<FileSystemInfo>? predicate, IComparer<FileSystemInfo>? comparer, Func<FileSystemInfo, FileSystemTraversalMarker, TFileSystemInfo> selector); public static IEnumerable<TFileSystemInfo> EnumerateFileSystemInfos<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<FileSystemInfo>? predicate, IComparer<FileSystemInfo>? comparer, Func<FileSystemInfo, FileSystemTraversalMarker, TFileSystemInfo> selector); public static IEnumerable<TFileSystemInfo> EnumerateFileSystemInfos<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<FileSystemInfo>? predicate, IComparer<FileSystemInfo>? comparer, Func<FileSystemInfo, FileSystemTraversalMarker, TFileSystemInfo> selector); public static IEnumerable<TFileSystemInfo> EnumerateFileSystemInfos<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<FileSystemInfo>? predicate, IComparer<FileSystemInfo>? comparer, Func<FileSystemInfo, FileSystemTraversalMarker, TFileSystemInfo> selector); public static IEnumerable<TFileSystemInfo> EnumerateFileSystemInfos<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<FileSystemInfo>? predicate, IComparer<FileSystemInfo>? comparer, Func<FileSystemInfo, FileSystemTraversalMarker, TFileSystemInfo> selector); public static IEnumerable<TFileSystemInfo> EnumerateFileSystemInfos<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<FileSystemInfo>? predicate, IComparer<FileSystemInfo>? comparer, Func<FileSystemInfo, FileSystemTraversalMarker, TFileSystemInfo> selector); public static IEnumerable<TFileSystemInfo> EnumerateFileSystemInfos<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<FileSystemInfo>? predicate, IComparer<FileSystemInfo>? comparer, Func<FileSystemInfo, FileSystemTraversalMarker, TFileSystemInfo> selector);
Extended methods
public static IEnumerable<FileSystemInfo> EnumerateFileSystemInfosEx(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, Predicate<(FileSystemInfo, IReadOnlyList<DirectoryInfo>)>? predicate, Comparison<FileSystemInfo>? comparison); public static IEnumerable<FileSystemInfo> EnumerateFileSystemInfosEx(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<(FileSystemInfo, IReadOnlyList<DirectoryInfo>)>? predicate, Comparison<FileSystemInfo>? comparison); public static IEnumerable<FileSystemInfo> EnumerateFileSystemInfosEx(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<(FileSystemInfo, IReadOnlyList<DirectoryInfo>)>? predicate, Comparison<FileSystemInfo>? comparison); public static IEnumerable<FileSystemInfo> EnumerateFileSystemInfosEx(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<(FileSystemInfo, IReadOnlyList<DirectoryInfo>)>? predicate, Comparison<FileSystemInfo>? comparison); public static IEnumerable<FileSystemInfo> EnumerateFileSystemInfosEx(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<(FileSystemInfo, IReadOnlyList<DirectoryInfo>)>? predicate, Comparison<FileSystemInfo>? comparison); public static IEnumerable<FileSystemInfo> EnumerateFileSystemInfosEx(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<(FileSystemInfo fileSystemInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? predicate, Comparison<FileSystemInfo>? comparison); public static IEnumerable<FileSystemInfo> EnumerateFileSystemInfosEx(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<(FileSystemInfo fileSystemInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? predicate, Comparison<FileSystemInfo>? comparison); public static IEnumerable<FileSystemInfo> EnumerateFileSystemInfosEx(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, IPredicate<(FileSystemInfo, IReadOnlyList<DirectoryInfo>)>? predicate, IComparer<FileSystemInfo>? comparer); public static IEnumerable<FileSystemInfo> EnumerateFileSystemInfosEx(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<(FileSystemInfo, IReadOnlyList<DirectoryInfo>)>? predicate, IComparer<FileSystemInfo>? comparer); public static IEnumerable<FileSystemInfo> EnumerateFileSystemInfosEx(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<(FileSystemInfo, IReadOnlyList<DirectoryInfo>)>? predicate, IComparer<FileSystemInfo>? comparer); public static IEnumerable<FileSystemInfo> EnumerateFileSystemInfosEx(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<(FileSystemInfo, IReadOnlyList<DirectoryInfo>)>? predicate, IComparer<FileSystemInfo>? comparer); public static IEnumerable<FileSystemInfo> EnumerateFileSystemInfosEx(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<(FileSystemInfo, IReadOnlyList<DirectoryInfo>)>? predicate, IComparer<FileSystemInfo>? comparer); public static IEnumerable<FileSystemInfo> EnumerateFileSystemInfosEx(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<(FileSystemInfo fileSystemInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? predicate, IComparer<FileSystemInfo>? comparer); public static IEnumerable<FileSystemInfo> EnumerateFileSystemInfosEx(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<(FileSystemInfo fileSystemInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? predicate, IComparer<FileSystemInfo>? comparer);
Extended methods with custom output
public static IEnumerable<TFileSystemInfo> EnumerateFileSystemInfosEx<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, Predicate<(FileSystemInfo, IReadOnlyList<DirectoryInfo>)>? predicate, Comparison<FileSystemInfo>? comparison, Func<FileSystemInfo, IReadOnlyList<DirectoryInfo>, FileSystemTraversalMarker, TFileSystemInfo> selector); public static IEnumerable<TFileSystemInfo> EnumerateFileSystemInfosEx<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<(FileSystemInfo, IReadOnlyList<DirectoryInfo>)>? predicate, Comparison<FileSystemInfo>? comparison, Func<FileSystemInfo, IReadOnlyList<DirectoryInfo>, FileSystemTraversalMarker, TFileSystemInfo> selector); public static IEnumerable<TFileSystemInfo> EnumerateFileSystemInfosEx<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<(FileSystemInfo, IReadOnlyList<DirectoryInfo>)>? predicate, Comparison<FileSystemInfo>? comparison, Func<FileSystemInfo, IReadOnlyList<DirectoryInfo>, FileSystemTraversalMarker, TFileSystemInfo> selector); public static IEnumerable<TFileSystemInfo> EnumerateFileSystemInfosEx<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<(FileSystemInfo, IReadOnlyList<DirectoryInfo>)>? predicate, Comparison<FileSystemInfo>? comparison, Func<FileSystemInfo, IReadOnlyList<DirectoryInfo>, FileSystemTraversalMarker, TFileSystemInfo> selector); public static IEnumerable<TFileSystemInfo> EnumerateFileSystemInfosEx<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<(FileSystemInfo, IReadOnlyList<DirectoryInfo>)>? predicate, Comparison<FileSystemInfo>? comparison, Func<FileSystemInfo, IReadOnlyList<DirectoryInfo>, FileSystemTraversalMarker, TFileSystemInfo> selector); public static IEnumerable<TFileSystemInfo> EnumerateFileSystemInfosEx<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<(FileSystemInfo fileSystemInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? predicate, Comparison<FileSystemInfo>? comparison, Func<FileSystemInfo, IReadOnlyList<DirectoryInfo>, FileSystemTraversalMarker, TFileSystemInfo> selector); public static IEnumerable<TFileSystemInfo> EnumerateFileSystemInfosEx<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<(FileSystemInfo fileSystemInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? predicate, Comparison<FileSystemInfo>? comparison, Func<FileSystemInfo, IReadOnlyList<DirectoryInfo>, FileSystemTraversalMarker, TFileSystemInfo> selector); public static IEnumerable<TFileSystemInfo> EnumerateFileSystemInfosEx<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, IPredicate<(FileSystemInfo, IReadOnlyList<DirectoryInfo>)>? predicate, IComparer<FileSystemInfo>? comparer, Func<FileSystemInfo, IReadOnlyList<DirectoryInfo>, FileSystemTraversalMarker, TFileSystemInfo> selector); public static IEnumerable<TFileSystemInfo> EnumerateFileSystemInfosEx<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<(FileSystemInfo, IReadOnlyList<DirectoryInfo>)>? predicate, IComparer<FileSystemInfo>? comparer, Func<FileSystemInfo, IReadOnlyList<DirectoryInfo>, FileSystemTraversalMarker, TFileSystemInfo> selector); public static IEnumerable<TFileSystemInfo> EnumerateFileSystemInfosEx<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<(FileSystemInfo, IReadOnlyList<DirectoryInfo>)>? predicate, IComparer<FileSystemInfo>? comparer, Func<FileSystemInfo, IReadOnlyList<DirectoryInfo>, FileSystemTraversalMarker, TFileSystemInfo> selector); public static IEnumerable<TFileSystemInfo> EnumerateFileSystemInfosEx<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<(FileSystemInfo, IReadOnlyList<DirectoryInfo>)>? predicate, IComparer<FileSystemInfo>? comparer, Func<FileSystemInfo, IReadOnlyList<DirectoryInfo>, FileSystemTraversalMarker, TFileSystemInfo> selector); public static IEnumerable<TFileSystemInfo> EnumerateFileSystemInfosEx<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<(FileSystemInfo, IReadOnlyList<DirectoryInfo>)>? predicate, IComparer<FileSystemInfo>? comparer, Func<FileSystemInfo, IReadOnlyList<DirectoryInfo>, FileSystemTraversalMarker, TFileSystemInfo> selector); public static IEnumerable<TFileSystemInfo> EnumerateFileSystemInfosEx<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<(FileSystemInfo fileSystemInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? predicate, IComparer<FileSystemInfo>? comparer, Func<FileSystemInfo, IReadOnlyList<DirectoryInfo>, FileSystemTraversalMarker, TFileSystemInfo> selector); public static IEnumerable<TFileSystemInfo> EnumerateFileSystemInfosEx<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<(FileSystemInfo fileSystemInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? predicate, IComparer<FileSystemInfo>? comparer, Func<FileSystemInfo, IReadOnlyList<DirectoryInfo>, FileSystemTraversalMarker, TFileSystemInfo> selector);
-
GetFileSystemInfosmethods - materialize enumerated filesystem objects into an array.Regular methods
public static FileSystemInfo[] GetFileSystemInfos(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, Predicate<FileSystemInfo>? predicate, Comparison<FileSystemInfo>? comparison); public static FileSystemInfo[] GetFileSystemInfos(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<FileSystemInfo>? predicate, Comparison<FileSystemInfo>? comparison); public static FileSystemInfo[] GetFileSystemInfos(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<FileSystemInfo>? predicate, Comparison<FileSystemInfo>? comparison); public static FileSystemInfo[] GetFileSystemInfos(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<FileSystemInfo>? predicate, Comparison<FileSystemInfo>? comparison); public static FileSystemInfo[] GetFileSystemInfos(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<FileSystemInfo>? predicate, Comparison<FileSystemInfo>? comparison); public static FileSystemInfo[] GetFileSystemInfos(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<FileSystemInfo>? predicate, Comparison<FileSystemInfo>? comparison); public static FileSystemInfo[] GetFileSystemInfos(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<FileSystemInfo>? predicate, Comparison<FileSystemInfo>? comparison); public static FileSystemInfo[] GetFileSystemInfos(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, IPredicate<FileSystemInfo>? predicate, IComparer<FileSystemInfo>? comparer); public static FileSystemInfo[] GetFileSystemInfos(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<FileSystemInfo>? predicate, IComparer<FileSystemInfo>? comparer); public static FileSystemInfo[] GetFileSystemInfos(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<FileSystemInfo>? predicate, IComparer<FileSystemInfo>? comparer); public static FileSystemInfo[] GetFileSystemInfos(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<FileSystemInfo>? predicate, IComparer<FileSystemInfo>? comparer); public static FileSystemInfo[] GetFileSystemInfos(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<FileSystemInfo>? predicate, IComparer<FileSystemInfo>? comparer); public static FileSystemInfo[] GetFileSystemInfos(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<FileSystemInfo>? predicate, IComparer<FileSystemInfo>? comparer); public static FileSystemInfo[] GetFileSystemInfos(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<FileSystemInfo>? predicate, IComparer<FileSystemInfo>? comparer);
Regular methods with custom output
public static TFileSystemInfo[] GetFileSystemInfos<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, Predicate<FileSystemInfo>? predicate, Comparison<FileSystemInfo>? comparison, Func<FileSystemInfo, TFileSystemInfo> selector); public static TFileSystemInfo[] GetFileSystemInfos<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<FileSystemInfo>? predicate, Comparison<FileSystemInfo>? comparison, Func<FileSystemInfo, TFileSystemInfo> selector); public static TFileSystemInfo[] GetFileSystemInfos<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<FileSystemInfo>? predicate, Comparison<FileSystemInfo>? comparison, Func<FileSystemInfo, TFileSystemInfo> selector); public static TFileSystemInfo[] GetFileSystemInfos<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<FileSystemInfo>? predicate, Comparison<FileSystemInfo>? comparison, Func<FileSystemInfo, TFileSystemInfo> selector); public static TFileSystemInfo[] GetFileSystemInfos<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<FileSystemInfo>? predicate, Comparison<FileSystemInfo>? comparison, Func<FileSystemInfo, TFileSystemInfo> selector); public static TFileSystemInfo[] GetFileSystemInfos<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<FileSystemInfo>? predicate, Comparison<FileSystemInfo>? comparison, Func<FileSystemInfo, TFileSystemInfo> selector); public static TFileSystemInfo[] GetFileSystemInfos<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<FileSystemInfo>? predicate, Comparison<FileSystemInfo>? comparison, Func<FileSystemInfo, TFileSystemInfo> selector); public static TFileSystemInfo[] GetFileSystemInfos<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, IPredicate<FileSystemInfo>? predicate, IComparer<FileSystemInfo>? comparer, Func<FileSystemInfo, TFileSystemInfo> selector); public static TFileSystemInfo[] GetFileSystemInfos<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<FileSystemInfo>? predicate, IComparer<FileSystemInfo>? comparer, Func<FileSystemInfo, TFileSystemInfo> selector); public static TFileSystemInfo[] GetFileSystemInfos<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<FileSystemInfo>? predicate, IComparer<FileSystemInfo>? comparer, Func<FileSystemInfo, TFileSystemInfo> selector); public static TFileSystemInfo[] GetFileSystemInfos<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<FileSystemInfo>? predicate, IComparer<FileSystemInfo>? comparer, Func<FileSystemInfo, TFileSystemInfo> selector); public static TFileSystemInfo[] GetFileSystemInfos<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<FileSystemInfo>? predicate, IComparer<FileSystemInfo>? comparer, Func<FileSystemInfo, TFileSystemInfo> selector); public static TFileSystemInfo[] GetFileSystemInfos<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<FileSystemInfo>? predicate, IComparer<FileSystemInfo>? comparer, Func<FileSystemInfo, TFileSystemInfo> selector); public static TFileSystemInfo[] GetFileSystemInfos<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<FileSystemInfo>? predicate, IComparer<FileSystemInfo>? comparer, Func<FileSystemInfo, TFileSystemInfo> selector);
Extended methods
public static FileSystemInfo[] GetFileSystemInfosEx(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, Predicate<(FileSystemInfo, IReadOnlyList<DirectoryInfo>)>? predicate, Comparison<FileSystemInfo>? comparison); public static FileSystemInfo[] GetFileSystemInfosEx(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<(FileSystemInfo, IReadOnlyList<DirectoryInfo>)>? predicate, Comparison<FileSystemInfo>? comparison); public static FileSystemInfo[] GetFileSystemInfosEx(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<(FileSystemInfo, IReadOnlyList<DirectoryInfo>)>? predicate, Comparison<FileSystemInfo>? comparison); public static FileSystemInfo[] GetFileSystemInfosEx(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<(FileSystemInfo, IReadOnlyList<DirectoryInfo>)>? predicate, Comparison<FileSystemInfo>? comparison); public static FileSystemInfo[] GetFileSystemInfosEx(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<(FileSystemInfo, IReadOnlyList<DirectoryInfo>)>? predicate, Comparison<FileSystemInfo>? comparison); public static FileSystemInfo[] GetFileSystemInfosEx(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<(FileSystemInfo fileSystemInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? predicate, Comparison<FileSystemInfo>? comparison); public static FileSystemInfo[] GetFileSystemInfosEx(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<(FileSystemInfo fileSystemInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? predicate, Comparison<FileSystemInfo>? comparison); public static FileSystemInfo[] GetFileSystemInfosEx(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, IPredicate<(FileSystemInfo, IReadOnlyList<DirectoryInfo>)>? predicate, IComparer<FileSystemInfo>? comparer); public static FileSystemInfo[] GetFileSystemInfosEx(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<(FileSystemInfo, IReadOnlyList<DirectoryInfo>)>? predicate, IComparer<FileSystemInfo>? comparer); public static FileSystemInfo[] GetFileSystemInfosEx(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<(FileSystemInfo, IReadOnlyList<DirectoryInfo>)>? predicate, IComparer<FileSystemInfo>? comparer); public static FileSystemInfo[] GetFileSystemInfosEx(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<(FileSystemInfo, IReadOnlyList<DirectoryInfo>)>? predicate, IComparer<FileSystemInfo>? comparer); public static FileSystemInfo[] GetFileSystemInfosEx(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<(FileSystemInfo, IReadOnlyList<DirectoryInfo>)>? predicate, IComparer<FileSystemInfo>? comparer); public static FileSystemInfo[] GetFileSystemInfosEx(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<(FileSystemInfo fileSystemInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? predicate, IComparer<FileSystemInfo>? comparer); public static FileSystemInfo[] GetFileSystemInfosEx(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<(FileSystemInfo fileSystemInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? predicate, IComparer<FileSystemInfo>? comparer);
Extended methods with custom output
public static TFileSystemInfo[] GetFileSystemInfosEx<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, Predicate<(FileSystemInfo, IReadOnlyList<DirectoryInfo>)>? predicate, Comparison<FileSystemInfo>? comparison, Func<FileSystemInfo, IReadOnlyList<DirectoryInfo>, TFileSystemInfo> selector); public static TFileSystemInfo[] GetFileSystemInfosEx<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<(FileSystemInfo, IReadOnlyList<DirectoryInfo>)>? predicate, Comparison<FileSystemInfo>? comparison, Func<FileSystemInfo, IReadOnlyList<DirectoryInfo>, TFileSystemInfo> selector); public static TFileSystemInfo[] GetFileSystemInfosEx<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<(FileSystemInfo, IReadOnlyList<DirectoryInfo>)>? predicate, Comparison<FileSystemInfo>? comparison, Func<FileSystemInfo, IReadOnlyList<DirectoryInfo>, TFileSystemInfo> selector); public static TFileSystemInfo[] GetFileSystemInfosEx<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<(FileSystemInfo, IReadOnlyList<DirectoryInfo>)>? predicate, Comparison<FileSystemInfo>? comparison, Func<FileSystemInfo, IReadOnlyList<DirectoryInfo>, TFileSystemInfo> selector); public static TFileSystemInfo[] GetFileSystemInfosEx<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<(FileSystemInfo, IReadOnlyList<DirectoryInfo>)>? predicate, Comparison<FileSystemInfo>? comparison, Func<FileSystemInfo, IReadOnlyList<DirectoryInfo>, TFileSystemInfo> selector); public static TFileSystemInfo[] GetFileSystemInfosEx<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<(FileSystemInfo fileSystemInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? predicate, Comparison<FileSystemInfo>? comparison, Func<FileSystemInfo, IReadOnlyList<DirectoryInfo>, TFileSystemInfo> selector); public static TFileSystemInfo[] GetFileSystemInfosEx<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<(FileSystemInfo fileSystemInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? predicate, Comparison<FileSystemInfo>? comparison, Func<FileSystemInfo, IReadOnlyList<DirectoryInfo>, TFileSystemInfo> selector); public static TFileSystemInfo[] GetFileSystemInfosEx<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, IPredicate<(FileSystemInfo, IReadOnlyList<DirectoryInfo>)>? predicate, IComparer<FileSystemInfo>? comparer, Func<FileSystemInfo, IReadOnlyList<DirectoryInfo>, TFileSystemInfo> selector); public static TFileSystemInfo[] GetFileSystemInfosEx<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<(FileSystemInfo, IReadOnlyList<DirectoryInfo>)>? predicate, IComparer<FileSystemInfo>? comparer, Func<FileSystemInfo, IReadOnlyList<DirectoryInfo>, TFileSystemInfo> selector); public static TFileSystemInfo[] GetFileSystemInfosEx<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<(FileSystemInfo, IReadOnlyList<DirectoryInfo>)>? predicate, IComparer<FileSystemInfo>? comparer, Func<FileSystemInfo, IReadOnlyList<DirectoryInfo>, TFileSystemInfo> selector); public static TFileSystemInfo[] GetFileSystemInfosEx<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<(FileSystemInfo, IReadOnlyList<DirectoryInfo>)>? predicate, IComparer<FileSystemInfo>? comparer, Func<FileSystemInfo, IReadOnlyList<DirectoryInfo>, TFileSystemInfo> selector); public static TFileSystemInfo[] GetFileSystemInfosEx<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<(FileSystemInfo, IReadOnlyList<DirectoryInfo>)>? predicate, IComparer<FileSystemInfo>? comparer, Func<FileSystemInfo, IReadOnlyList<DirectoryInfo>, TFileSystemInfo> selector); public static TFileSystemInfo[] GetFileSystemInfosEx<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<(FileSystemInfo fileSystemInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? predicate, IComparer<FileSystemInfo>? comparer, Func<FileSystemInfo, IReadOnlyList<DirectoryInfo>, TFileSystemInfo> selector); public static TFileSystemInfo[] GetFileSystemInfosEx<TFileSystemInfo>(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<(FileSystemInfo fileSystemInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? predicate, IComparer<FileSystemInfo>? comparer, Func<FileSystemInfo, IReadOnlyList<DirectoryInfo>, TFileSystemInfo> selector);
-
EnumerateDirectoriesmethods - enumerate directory objects.Regular methods
public static IEnumerable<DirectoryInfo> EnumerateDirectories(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, Predicate<DirectoryInfo>? predicate, Comparison<DirectoryInfo>? comparison); public static IEnumerable<DirectoryInfo> EnumerateDirectories(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<DirectoryInfo>? predicate, Comparison<DirectoryInfo>? comparison); public static IEnumerable<DirectoryInfo> EnumerateDirectories(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<DirectoryInfo>? predicate, Comparison<DirectoryInfo>? comparison); public static IEnumerable<DirectoryInfo> EnumerateDirectories(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<DirectoryInfo>? predicate, Comparison<DirectoryInfo>? comparison); public static IEnumerable<DirectoryInfo> EnumerateDirectories(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<DirectoryInfo>? predicate, Comparison<DirectoryInfo>? comparison); public static IEnumerable<DirectoryInfo> EnumerateDirectories(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<DirectoryInfo>? predicate, Comparison<DirectoryInfo>? comparison); public static IEnumerable<DirectoryInfo> EnumerateDirectories(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<DirectoryInfo>? predicate, Comparison<DirectoryInfo>? comparison); public static IEnumerable<DirectoryInfo> EnumerateDirectories(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, IPredicate<DirectoryInfo>? predicate, IComparer<DirectoryInfo>? comparer); public static IEnumerable<DirectoryInfo> EnumerateDirectories(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<DirectoryInfo>? predicate, IComparer<DirectoryInfo>? comparer); public static IEnumerable<DirectoryInfo> EnumerateDirectories(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<DirectoryInfo>? predicate, IComparer<DirectoryInfo>? comparer); public static IEnumerable<DirectoryInfo> EnumerateDirectories(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<DirectoryInfo>? predicate, IComparer<DirectoryInfo>? comparer); public static IEnumerable<DirectoryInfo> EnumerateDirectories(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<DirectoryInfo>? predicate, IComparer<DirectoryInfo>? comparer); public static IEnumerable<DirectoryInfo> EnumerateDirectories(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<DirectoryInfo>? predicate, IComparer<DirectoryInfo>? comparer); public static IEnumerable<DirectoryInfo> EnumerateDirectories(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<DirectoryInfo>? predicate, IComparer<DirectoryInfo>? comparer);
Regular methods with custom output
public static IEnumerable<TDirectoryInfo> EnumerateDirectories<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, Predicate<DirectoryInfo>? predicate, Comparison<DirectoryInfo>? comparison, Func<DirectoryInfo, TDirectoryInfo> selector); public static IEnumerable<TDirectoryInfo> EnumerateDirectories<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<DirectoryInfo>? predicate, Comparison<DirectoryInfo>? comparison, Func<DirectoryInfo, TDirectoryInfo> selector); public static IEnumerable<TDirectoryInfo> EnumerateDirectories<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<DirectoryInfo>? predicate, Comparison<DirectoryInfo>? comparison, Func<DirectoryInfo, TDirectoryInfo> selector); public static IEnumerable<TDirectoryInfo> EnumerateDirectories<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<DirectoryInfo>? predicate, Comparison<DirectoryInfo>? comparison, Func<DirectoryInfo, TDirectoryInfo> selector); public static IEnumerable<TDirectoryInfo> EnumerateDirectories<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<DirectoryInfo>? predicate, Comparison<DirectoryInfo>? comparison, Func<DirectoryInfo, TDirectoryInfo> selector); public static IEnumerable<TDirectoryInfo> EnumerateDirectories<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<DirectoryInfo>? predicate, Comparison<DirectoryInfo>? comparison, Func<DirectoryInfo, TDirectoryInfo> selector); public static IEnumerable<TDirectoryInfo> EnumerateDirectories<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<DirectoryInfo>? predicate, Comparison<DirectoryInfo>? comparison, Func<DirectoryInfo, TDirectoryInfo> selector); public static IEnumerable<TDirectoryInfo> EnumerateDirectories<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, IPredicate<DirectoryInfo>? predicate, IComparer<DirectoryInfo>? comparer, Func<DirectoryInfo, TDirectoryInfo> selector); public static IEnumerable<TDirectoryInfo> EnumerateDirectories<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<DirectoryInfo>? predicate, IComparer<DirectoryInfo>? comparer, Func<DirectoryInfo, TDirectoryInfo> selector); public static IEnumerable<TDirectoryInfo> EnumerateDirectories<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<DirectoryInfo>? predicate, IComparer<DirectoryInfo>? comparer, Func<DirectoryInfo, TDirectoryInfo> selector); public static IEnumerable<TDirectoryInfo> EnumerateDirectories<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<DirectoryInfo>? predicate, IComparer<DirectoryInfo>? comparer, Func<DirectoryInfo, TDirectoryInfo> selector); public static IEnumerable<TDirectoryInfo> EnumerateDirectories<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<DirectoryInfo>? predicate, IComparer<DirectoryInfo>? comparer, Func<DirectoryInfo, TDirectoryInfo> selector); public static IEnumerable<TDirectoryInfo> EnumerateDirectories<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<DirectoryInfo>? predicate, IComparer<DirectoryInfo>? comparer, Func<DirectoryInfo, TDirectoryInfo> selector); public static IEnumerable<TDirectoryInfo> EnumerateDirectories<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<DirectoryInfo>? predicate, IComparer<DirectoryInfo>? comparer, Func<DirectoryInfo, TDirectoryInfo> selector);
Extended methods
public static IEnumerable<DirectoryInfo> EnumerateDirectoriesEx(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, Predicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? predicate, Comparison<DirectoryInfo>? comparison); public static IEnumerable<DirectoryInfo> EnumerateDirectoriesEx(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? predicate, Comparison<DirectoryInfo>? comparison); public static IEnumerable<DirectoryInfo> EnumerateDirectoriesEx(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? predicate, Comparison<DirectoryInfo>? comparison); public static IEnumerable<DirectoryInfo> EnumerateDirectoriesEx(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? predicate, Comparison<DirectoryInfo>? comparison); public static IEnumerable<DirectoryInfo> EnumerateDirectoriesEx(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? predicate, Comparison<DirectoryInfo>? comparison); public static IEnumerable<DirectoryInfo> EnumerateDirectoriesEx(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<(DirectoryInfo directoryInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? predicate, Comparison<DirectoryInfo>? comparison); public static IEnumerable<DirectoryInfo> EnumerateDirectoriesEx(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<(DirectoryInfo directoryInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? predicate, Comparison<DirectoryInfo>? comparison); public static IEnumerable<DirectoryInfo> EnumerateDirectoriesEx(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, IPredicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? predicate, IComparer<DirectoryInfo>? comparer); public static IEnumerable<DirectoryInfo> EnumerateDirectoriesEx(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? predicate, IComparer<DirectoryInfo>? comparer); public static IEnumerable<DirectoryInfo> EnumerateDirectoriesEx(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? predicate, IComparer<DirectoryInfo>? comparer); public static IEnumerable<DirectoryInfo> EnumerateDirectoriesEx(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? predicate, IComparer<DirectoryInfo>? comparer); public static IEnumerable<DirectoryInfo> EnumerateDirectoriesEx(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? predicate, IComparer<DirectoryInfo>? comparer); public static IEnumerable<DirectoryInfo> EnumerateDirectoriesEx(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<(DirectoryInfo directoryInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? predicate, IComparer<DirectoryInfo>? comparer); public static IEnumerable<DirectoryInfo> EnumerateDirectoriesEx(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<(DirectoryInfo directoryInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? predicate, IComparer<DirectoryInfo>? comparer);
Extended methods with custom output
public static IEnumerable<TDirectoryInfo> EnumerateDirectoriesEx<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, Predicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? predicate, Comparison<DirectoryInfo>? comparison, Func<DirectoryInfo, IReadOnlyList<DirectoryInfo>, TDirectoryInfo> selector); public static IEnumerable<TDirectoryInfo> EnumerateDirectoriesEx<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? predicate, Comparison<DirectoryInfo>? comparison, Func<DirectoryInfo, IReadOnlyList<DirectoryInfo>, TDirectoryInfo> selector); public static IEnumerable<TDirectoryInfo> EnumerateDirectoriesEx<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? predicate, Comparison<DirectoryInfo>? comparison, Func<DirectoryInfo, IReadOnlyList<DirectoryInfo>, TDirectoryInfo> selector); public static IEnumerable<TDirectoryInfo> EnumerateDirectoriesEx<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? predicate, Comparison<DirectoryInfo>? comparison, Func<DirectoryInfo, IReadOnlyList<DirectoryInfo>, TDirectoryInfo> selector); public static IEnumerable<TDirectoryInfo> EnumerateDirectoriesEx<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? predicate, Comparison<DirectoryInfo>? comparison, Func<DirectoryInfo, IReadOnlyList<DirectoryInfo>, TDirectoryInfo> selector); public static IEnumerable<TDirectoryInfo> EnumerateDirectoriesEx<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<(DirectoryInfo directoryInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? predicate, Comparison<DirectoryInfo>? comparison, Func<DirectoryInfo, IReadOnlyList<DirectoryInfo>, TDirectoryInfo> selector); public static IEnumerable<TDirectoryInfo> EnumerateDirectoriesEx<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<(DirectoryInfo directoryInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? predicate, Comparison<DirectoryInfo>? comparison, Func<DirectoryInfo, IReadOnlyList<DirectoryInfo>, TDirectoryInfo> selector); public static IEnumerable<TDirectoryInfo> EnumerateDirectoriesEx<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, IPredicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? predicate, IComparer<DirectoryInfo>? comparer, Func<DirectoryInfo, IReadOnlyList<DirectoryInfo>, TDirectoryInfo> selector); public static IEnumerable<TDirectoryInfo> EnumerateDirectoriesEx<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? predicate, IComparer<DirectoryInfo>? comparer, Func<DirectoryInfo, IReadOnlyList<DirectoryInfo>, TDirectoryInfo> selector); public static IEnumerable<TDirectoryInfo> EnumerateDirectoriesEx<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? predicate, IComparer<DirectoryInfo>? comparer, Func<DirectoryInfo, IReadOnlyList<DirectoryInfo>, TDirectoryInfo> selector); public static IEnumerable<TDirectoryInfo> EnumerateDirectoriesEx<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? predicate, IComparer<DirectoryInfo>? comparer, Func<DirectoryInfo, IReadOnlyList<DirectoryInfo>, TDirectoryInfo> selector); public static IEnumerable<TDirectoryInfo> EnumerateDirectoriesEx<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? predicate, IComparer<DirectoryInfo>? comparer, Func<DirectoryInfo, IReadOnlyList<DirectoryInfo>, TDirectoryInfo> selector); public static IEnumerable<TDirectoryInfo> EnumerateDirectoriesEx<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<(DirectoryInfo directoryInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? predicate, IComparer<DirectoryInfo>? comparer, Func<DirectoryInfo, IReadOnlyList<DirectoryInfo>, TDirectoryInfo> selector); public static IEnumerable<TDirectoryInfo> EnumerateDirectoriesEx<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<(DirectoryInfo directoryInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? predicate, IComparer<DirectoryInfo>? comparer, Func<DirectoryInfo, IReadOnlyList<DirectoryInfo>, TDirectoryInfo> selector);
-
GetDirectoriesmethods - materialize enumerated directory objects into an array.Regular methods
public static DirectoryInfo[] GetDirectories(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, Predicate<DirectoryInfo>? predicate, Comparison<DirectoryInfo>? comparison); public static DirectoryInfo[] GetDirectories(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<DirectoryInfo>? predicate, Comparison<DirectoryInfo>? comparison); public static DirectoryInfo[] GetDirectories(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<DirectoryInfo>? predicate, Comparison<DirectoryInfo>? comparison); public static DirectoryInfo[] GetDirectories(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<DirectoryInfo>? predicate, Comparison<DirectoryInfo>? comparison); public static DirectoryInfo[] GetDirectories(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<DirectoryInfo>? predicate, Comparison<DirectoryInfo>? comparison); public static DirectoryInfo[] GetDirectories(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<DirectoryInfo>? predicate, Comparison<DirectoryInfo>? comparison); public static DirectoryInfo[] GetDirectories(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<DirectoryInfo>? predicate, Comparison<DirectoryInfo>? comparison); public static DirectoryInfo[] GetDirectories(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, IPredicate<DirectoryInfo>? predicate, IComparer<DirectoryInfo>? comparer); public static DirectoryInfo[] GetDirectories(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<DirectoryInfo>? predicate, IComparer<DirectoryInfo>? comparer); public static DirectoryInfo[] GetDirectories(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<DirectoryInfo>? predicate, IComparer<DirectoryInfo>? comparer); public static DirectoryInfo[] GetDirectories(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<DirectoryInfo>? predicate, IComparer<DirectoryInfo>? comparer); public static DirectoryInfo[] GetDirectories(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<DirectoryInfo>? predicate, IComparer<DirectoryInfo>? comparer); public static DirectoryInfo[] GetDirectories(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<DirectoryInfo>? predicate, IComparer<DirectoryInfo>? comparer); public static DirectoryInfo[] GetDirectories(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<DirectoryInfo>? predicate, IComparer<DirectoryInfo>? comparer);
Regular methods with custom output
public static TDirectoryInfo[] GetDirectories<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, Predicate<DirectoryInfo>? predicate, Comparison<DirectoryInfo>? comparison, Func<DirectoryInfo, TDirectoryInfo> selector); public static TDirectoryInfo[] GetDirectories<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<DirectoryInfo>? predicate, Comparison<DirectoryInfo>? comparison, Func<DirectoryInfo, TDirectoryInfo> selector); public static TDirectoryInfo[] GetDirectories<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<DirectoryInfo>? predicate, Comparison<DirectoryInfo>? comparison, Func<DirectoryInfo, TDirectoryInfo> selector); public static TDirectoryInfo[] GetDirectories<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<DirectoryInfo>? predicate, Comparison<DirectoryInfo>? comparison, Func<DirectoryInfo, TDirectoryInfo> selector); public static TDirectoryInfo[] GetDirectories<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<DirectoryInfo>? predicate, Comparison<DirectoryInfo>? comparison, Func<DirectoryInfo, TDirectoryInfo> selector); public static TDirectoryInfo[] GetDirectories<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<DirectoryInfo>? predicate, Comparison<DirectoryInfo>? comparison, Func<DirectoryInfo, TDirectoryInfo> selector); public static TDirectoryInfo[] GetDirectories<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<DirectoryInfo>? predicate, Comparison<DirectoryInfo>? comparison, Func<DirectoryInfo, TDirectoryInfo> selector); public static TDirectoryInfo[] GetDirectories<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, IPredicate<DirectoryInfo>? predicate, IComparer<DirectoryInfo>? comparer, Func<DirectoryInfo, TDirectoryInfo> selector); public static TDirectoryInfo[] GetDirectories<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<DirectoryInfo>? predicate, IComparer<DirectoryInfo>? comparer, Func<DirectoryInfo, TDirectoryInfo> selector); public static TDirectoryInfo[] GetDirectories<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<DirectoryInfo>? predicate, IComparer<DirectoryInfo>? comparer, Func<DirectoryInfo, TDirectoryInfo> selector); public static TDirectoryInfo[] GetDirectories<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<DirectoryInfo>? predicate, IComparer<DirectoryInfo>? comparer, Func<DirectoryInfo, TDirectoryInfo> selector); public static TDirectoryInfo[] GetDirectories<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<DirectoryInfo>? predicate, IComparer<DirectoryInfo>? comparer, Func<DirectoryInfo, TDirectoryInfo> selector); public static TDirectoryInfo[] GetDirectories<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<DirectoryInfo>? predicate, IComparer<DirectoryInfo>? comparer, Func<DirectoryInfo, TDirectoryInfo> selector); public static TDirectoryInfo[] GetDirectories<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<DirectoryInfo>? predicate, IComparer<DirectoryInfo>? comparer, Func<DirectoryInfo, TDirectoryInfo> selector);
Extended methods
public static DirectoryInfo[] GetDirectoriesEx(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, Predicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? predicate, Comparison<DirectoryInfo>? comparison); public static DirectoryInfo[] GetDirectoriesEx(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? predicate, Comparison<DirectoryInfo>? comparison); public static DirectoryInfo[] GetDirectoriesEx(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? predicate, Comparison<DirectoryInfo>? comparison); public static DirectoryInfo[] GetDirectoriesEx(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? predicate, Comparison<DirectoryInfo>? comparison); public static DirectoryInfo[] GetDirectoriesEx(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? predicate, Comparison<DirectoryInfo>? comparison); public static DirectoryInfo[] GetDirectoriesEx(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<(DirectoryInfo directoryInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? predicate, Comparison<DirectoryInfo>? comparison); public static DirectoryInfo[] GetDirectoriesEx(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<(DirectoryInfo directoryInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? predicate, Comparison<DirectoryInfo>? comparison); public static DirectoryInfo[] GetDirectoriesEx(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, IPredicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? predicate, IComparer<DirectoryInfo>? comparer); public static DirectoryInfo[] GetDirectoriesEx(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? predicate, IComparer<DirectoryInfo>? comparer); public static DirectoryInfo[] GetDirectoriesEx(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? predicate, IComparer<DirectoryInfo>? comparer); public static DirectoryInfo[] GetDirectoriesEx(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? predicate, IComparer<DirectoryInfo>? comparer); public static DirectoryInfo[] GetDirectoriesEx(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? predicate, IComparer<DirectoryInfo>? comparer); public static DirectoryInfo[] GetDirectoriesEx(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<(DirectoryInfo directoryInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? predicate, IComparer<DirectoryInfo>? comparer); public static DirectoryInfo[] GetDirectoriesEx(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<(DirectoryInfo directoryInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? predicate, IComparer<DirectoryInfo>? comparer);
Extended methods with custom output
public static TDirectoryInfo[] GetDirectoriesEx<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, Predicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? predicate, Comparison<DirectoryInfo>? comparison, Func<DirectoryInfo, IReadOnlyList<DirectoryInfo>, TDirectoryInfo> selector); public static TDirectoryInfo[] GetDirectoriesEx<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? predicate, Comparison<DirectoryInfo>? comparison, Func<DirectoryInfo, IReadOnlyList<DirectoryInfo>, TDirectoryInfo> selector); public static TDirectoryInfo[] GetDirectoriesEx<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? predicate, Comparison<DirectoryInfo>? comparison, Func<DirectoryInfo, IReadOnlyList<DirectoryInfo>, TDirectoryInfo> selector); public static TDirectoryInfo[] GetDirectoriesEx<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? predicate, Comparison<DirectoryInfo>? comparison, Func<DirectoryInfo, IReadOnlyList<DirectoryInfo>, TDirectoryInfo> selector); public static TDirectoryInfo[] GetDirectoriesEx<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? predicate, Comparison<DirectoryInfo>? comparison, Func<DirectoryInfo, IReadOnlyList<DirectoryInfo>, TDirectoryInfo> selector); public static TDirectoryInfo[] GetDirectoriesEx<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<(DirectoryInfo directoryInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? predicate, Comparison<DirectoryInfo>? comparison, Func<DirectoryInfo, IReadOnlyList<DirectoryInfo>, TDirectoryInfo> selector); public static TDirectoryInfo[] GetDirectoriesEx<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<(DirectoryInfo directoryInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? predicate, Comparison<DirectoryInfo>? comparison, Func<DirectoryInfo, IReadOnlyList<DirectoryInfo>, TDirectoryInfo> selector); public static TDirectoryInfo[] GetDirectoriesEx<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, IPredicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? predicate, IComparer<DirectoryInfo>? comparer, Func<DirectoryInfo, IReadOnlyList<DirectoryInfo>, TDirectoryInfo> selector); public static TDirectoryInfo[] GetDirectoriesEx<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? predicate, IComparer<DirectoryInfo>? comparer, Func<DirectoryInfo, IReadOnlyList<DirectoryInfo>, TDirectoryInfo> selector); public static TDirectoryInfo[] GetDirectoriesEx<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? predicate, IComparer<DirectoryInfo>? comparer, Func<DirectoryInfo, IReadOnlyList<DirectoryInfo>, TDirectoryInfo> selector); public static TDirectoryInfo[] GetDirectoriesEx<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? predicate, IComparer<DirectoryInfo>? comparer, Func<DirectoryInfo, IReadOnlyList<DirectoryInfo>, TDirectoryInfo> selector); public static TDirectoryInfo[] GetDirectoriesEx<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? predicate, IComparer<DirectoryInfo>? comparer, Func<DirectoryInfo, IReadOnlyList<DirectoryInfo>, TDirectoryInfo> selector); public static TDirectoryInfo[] GetDirectoriesEx<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<(DirectoryInfo directoryInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? predicate, IComparer<DirectoryInfo>? comparer, Func<DirectoryInfo, IReadOnlyList<DirectoryInfo>, TDirectoryInfo> selector); public static TDirectoryInfo[] GetDirectoriesEx<TDirectoryInfo>(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<(DirectoryInfo directoryInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? predicate, IComparer<DirectoryInfo>? comparer, Func<DirectoryInfo, IReadOnlyList<DirectoryInfo>, TDirectoryInfo> selector);
-
EnumerateFilesmethods - enumerate file objects.Regular methods
public static IEnumerable<FileInfo> EnumerateFiles(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, Predicate<FileInfo>? filePredicate, Predicate<DirectoryInfo>? directoryPredicate, Comparison<FileSystemInfo>? comparison); public static IEnumerable<FileInfo> EnumerateFiles(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<FileInfo>? filePredicate, Predicate<DirectoryInfo>? directoryPredicate, Comparison<FileSystemInfo>? comparison); public static IEnumerable<FileInfo> EnumerateFiles(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<FileInfo>? filePredicate, Predicate<DirectoryInfo>? directoryPredicate, Comparison<FileSystemInfo>? comparison); public static IEnumerable<FileInfo> EnumerateFiles(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<FileInfo>? filePredicate, Predicate<DirectoryInfo>? directoryPredicate, Comparison<FileSystemInfo>? comparison); public static IEnumerable<FileInfo> EnumerateFiles(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<FileInfo>? filePredicate, Predicate<DirectoryInfo>? directoryPredicate, Comparison<FileSystemInfo>? comparison); public static IEnumerable<FileInfo> EnumerateFiles(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<FileInfo>? filePredicate, Predicate<DirectoryInfo>? directoryPredicate, Comparison<FileSystemInfo>? comparison); public static IEnumerable<FileInfo> EnumerateFiles(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<FileInfo>? filePredicate, Predicate<DirectoryInfo>? directoryPredicate, Comparison<FileSystemInfo>? comparison); public static IEnumerable<FileInfo> EnumerateFiles(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, IPredicate<FileInfo>? filePredicate, IPredicate<DirectoryInfo>? directoryPredicate, IComparer<FileSystemInfo>? comparer); public static IEnumerable<FileInfo> EnumerateFiles(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<FileInfo>? filePredicate, IPredicate<DirectoryInfo>? directoryPredicate, IComparer<FileSystemInfo>? comparer); public static IEnumerable<FileInfo> EnumerateFiles(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<FileInfo>? filePredicate, IPredicate<DirectoryInfo>? directoryPredicate, IComparer<FileSystemInfo>? comparer); public static IEnumerable<FileInfo> EnumerateFiles(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<FileInfo>? filePredicate, IPredicate<DirectoryInfo>? directoryPredicate, IComparer<FileSystemInfo>? comparer); public static IEnumerable<FileInfo> EnumerateFiles(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<FileInfo>? filePredicate, IPredicate<DirectoryInfo>? directoryPredicate, IComparer<FileSystemInfo>? comparer); public static IEnumerable<FileInfo> EnumerateFiles(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<FileInfo>? filePredicate, IPredicate<DirectoryInfo>? directoryPredicate, IComparer<FileSystemInfo>? comparer); public static IEnumerable<FileInfo> EnumerateFiles(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<FileInfo>? filePredicate, IPredicate<DirectoryInfo>? directoryPredicate, IComparer<FileSystemInfo>? comparer);
Regular methods with custom output
public static IEnumerable<TFileInfo> EnumerateFiles<TFileInfo>(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, Predicate<FileInfo>? filePredicate, Predicate<DirectoryInfo>? directoryPredicate, Comparison<FileSystemInfo>? comparison, Func<FileInfo, TFileInfo> selector); public static IEnumerable<TFileInfo> EnumerateFiles<TFileInfo>(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<FileInfo>? filePredicate, Predicate<DirectoryInfo>? directoryPredicate, Comparison<FileSystemInfo>? comparison, Func<FileInfo, TFileInfo> selector); public static IEnumerable<TFileInfo> EnumerateFiles<TFileInfo>(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<FileInfo>? filePredicate, Predicate<DirectoryInfo>? directoryPredicate, Comparison<FileSystemInfo>? comparison, Func<FileInfo, TFileInfo> selector); public static IEnumerable<TFileInfo> EnumerateFiles<TFileInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<FileInfo>? filePredicate, Predicate<DirectoryInfo>? directoryPredicate, Comparison<FileSystemInfo>? comparison, Func<FileInfo, TFileInfo> selector); public static IEnumerable<TFileInfo> EnumerateFiles<TFileInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<FileInfo>? filePredicate, Predicate<DirectoryInfo>? directoryPredicate, Comparison<FileSystemInfo>? comparison, Func<FileInfo, TFileInfo> selector); public static IEnumerable<TFileInfo> EnumerateFiles<TFileInfo>(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<FileInfo>? filePredicate, Predicate<DirectoryInfo>? directoryPredicate, Comparison<FileSystemInfo>? comparison, Func<FileInfo, TFileInfo> selector); public static IEnumerable<TFileInfo> EnumerateFiles<TFileInfo>(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<FileInfo>? filePredicate, Predicate<DirectoryInfo>? directoryPredicate, Comparison<FileSystemInfo>? comparison, Func<FileInfo, TFileInfo> selector); public static IEnumerable<TFileInfo> EnumerateFiles<TFileInfo>(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, IPredicate<FileInfo>? filePredicate, IPredicate<DirectoryInfo>? directoryPredicate, IComparer<FileSystemInfo>? comparer, Func<FileInfo, TFileInfo> selector); public static IEnumerable<TFileInfo> EnumerateFiles<TFileInfo>(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<FileInfo>? filePredicate, IPredicate<DirectoryInfo>? directoryPredicate, IComparer<FileSystemInfo>? comparer, Func<FileInfo, TFileInfo> selector); public static IEnumerable<TFileInfo> EnumerateFiles<TFileInfo>(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<FileInfo>? filePredicate, IPredicate<DirectoryInfo>? directoryPredicate, IComparer<FileSystemInfo>? comparer, Func<FileInfo, TFileInfo> selector); public static IEnumerable<TFileInfo> EnumerateFiles<TFileInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<FileInfo>? filePredicate, IPredicate<DirectoryInfo>? directoryPredicate, IComparer<FileSystemInfo>? comparer, Func<FileInfo, TFileInfo> selector); public static IEnumerable<TFileInfo> EnumerateFiles<TFileInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<FileInfo>? filePredicate, IPredicate<DirectoryInfo>? directoryPredicate, IComparer<FileSystemInfo>? comparer, Func<FileInfo, TFileInfo> selector); public static IEnumerable<TFileInfo> EnumerateFiles<TFileInfo>(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<FileInfo>? filePredicate, IPredicate<DirectoryInfo>? directoryPredicate, IComparer<FileSystemInfo>? comparer, Func<FileInfo, TFileInfo> selector); public static IEnumerable<TFileInfo> EnumerateFiles<TFileInfo>(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<FileInfo>? filePredicate, IPredicate<DirectoryInfo>? directoryPredicate, IComparer<FileSystemInfo>? comparer, Func<FileInfo, TFileInfo> selector);
Extended methods
public static IEnumerable<FileInfo> EnumerateFilesEx(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, Predicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, Predicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? directoryPredicate, Comparison<FileSystemInfo>? comparison); public static IEnumerable<FileInfo> EnumerateFilesEx(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, Predicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? directoryPredicate, Comparison<FileSystemInfo>? comparison); public static IEnumerable<FileInfo> EnumerateFilesEx(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, Predicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? directoryPredicate, Comparison<FileSystemInfo>? comparison); public static IEnumerable<FileInfo> EnumerateFilesEx(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, Predicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? directoryPredicate, Comparison<FileSystemInfo>? comparison); public static IEnumerable<FileInfo> EnumerateFilesEx(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, Predicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? directoryPredicate, Comparison<FileSystemInfo>? comparison); public static IEnumerable<FileInfo> EnumerateFilesEx(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<(FileInfo fileInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? filePredicate, Predicate<(DirectoryInfo directoryInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? directoryPredicate, Comparison<FileSystemInfo>? comparison); public static IEnumerable<FileInfo> EnumerateFilesEx(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<(FileInfo fileInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? filePredicate, Predicate<(DirectoryInfo directoryInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? directoryPredicate, Comparison<FileSystemInfo>? comparison); public static IEnumerable<FileInfo> EnumerateFilesEx(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, IPredicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, IPredicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? directoryPredicate, IComparer<FileSystemInfo>? comparer); public static IEnumerable<FileInfo> EnumerateFilesEx(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, IPredicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? directoryPredicate, IComparer<FileSystemInfo>? comparer); public static IEnumerable<FileInfo> EnumerateFilesEx(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, IPredicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? directoryPredicate, IComparer<FileSystemInfo>? comparer); public static IEnumerable<FileInfo> EnumerateFilesEx(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, IPredicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? directoryPredicate, IComparer<FileSystemInfo>? comparer); public static IEnumerable<FileInfo> EnumerateFilesEx(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, IPredicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? directoryPredicate, IComparer<FileSystemInfo>? comparer); public static IEnumerable<FileInfo> EnumerateFilesEx(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<(FileInfo fileInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? filePredicate, IPredicate<(DirectoryInfo directoryInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? directoryPredicate, IComparer<FileSystemInfo>? comparer); public static IEnumerable<FileInfo> EnumerateFilesEx(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<(FileInfo fileInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? filePredicate, IPredicate<(DirectoryInfo directoryInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? directoryPredicate, IComparer<FileSystemInfo>? comparer);
Extended methods with custom output
public static IEnumerable<TFileInfo> EnumerateFilesEx<TFileInfo>(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, Predicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, Predicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? directoryPredicate, Comparison<FileSystemInfo>? comparison, Func<FileInfo, IReadOnlyList<DirectoryInfo>, TFileInfo> selector); public static IEnumerable<TFileInfo> EnumerateFilesEx<TFileInfo>(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, Predicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? directoryPredicate, Comparison<FileSystemInfo>? comparison, Func<FileInfo, IReadOnlyList<DirectoryInfo>, TFileInfo> selector); public static IEnumerable<TFileInfo> EnumerateFilesEx<TFileInfo>(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, Predicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? directoryPredicate, Comparison<FileSystemInfo>? comparison, Func<FileInfo, IReadOnlyList<DirectoryInfo>, TFileInfo> selector); public static IEnumerable<TFileInfo> EnumerateFilesEx<TFileInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, Predicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? directoryPredicate, Comparison<FileSystemInfo>? comparison, Func<FileInfo, IReadOnlyList<DirectoryInfo>, TFileInfo> selector); public static IEnumerable<TFileInfo> EnumerateFilesEx<TFileInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, Predicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? directoryPredicate, Comparison<FileSystemInfo>? comparison, Func<FileInfo, IReadOnlyList<DirectoryInfo>, TFileInfo> selector); public static IEnumerable<TFileInfo> EnumerateFilesEx<TFileInfo>(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<(FileInfo fileInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? filePredicate, Predicate<(DirectoryInfo directoryInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? directoryPredicate, Comparison<FileSystemInfo>? comparison, Func<FileInfo, IReadOnlyList<DirectoryInfo>, TFileInfo> selector); public static IEnumerable<TFileInfo> EnumerateFilesEx<TFileInfo>(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<(FileInfo fileInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? filePredicate, Predicate<(DirectoryInfo directoryInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? directoryPredicate, Comparison<FileSystemInfo>? comparison, Func<FileInfo, IReadOnlyList<DirectoryInfo>, TFileInfo> selector); public static IEnumerable<TFileInfo> EnumerateFilesEx<TFileInfo>(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, IPredicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, IPredicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? directoryPredicate, IComparer<FileSystemInfo>? comparer, Func<FileInfo, IReadOnlyList<DirectoryInfo>, TFileInfo> selector); public static IEnumerable<TFileInfo> EnumerateFilesEx<TFileInfo>(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, IPredicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? directoryPredicate, IComparer<FileSystemInfo>? comparer, Func<FileInfo, IReadOnlyList<DirectoryInfo>, TFileInfo> selector); public static IEnumerable<TFileInfo> EnumerateFilesEx<TFileInfo>(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, IPredicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? directoryPredicate, IComparer<FileSystemInfo>? comparer, Func<FileInfo, IReadOnlyList<DirectoryInfo>, TFileInfo> selector); public static IEnumerable<TFileInfo> EnumerateFilesEx<TFileInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, IPredicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? directoryPredicate, IComparer<FileSystemInfo>? comparer, Func<FileInfo, IReadOnlyList<DirectoryInfo>, TFileInfo> selector); public static IEnumerable<TFileInfo> EnumerateFilesEx<TFileInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, IPredicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? directoryPredicate, IComparer<FileSystemInfo>? comparer, Func<FileInfo, IReadOnlyList<DirectoryInfo>, TFileInfo> selector); public static IEnumerable<TFileInfo> EnumerateFilesEx<TFileInfo>(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<(FileInfo fileInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? filePredicate, IPredicate<(DirectoryInfo directoryInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? directoryPredicate, IComparer<FileSystemInfo>? comparer, Func<FileInfo, IReadOnlyList<DirectoryInfo>, TFileInfo> selector); public static IEnumerable<TFileInfo> EnumerateFilesEx<TFileInfo>(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<(FileInfo fileInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? filePredicate, IPredicate<(DirectoryInfo directoryInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? directoryPredicate, IComparer<FileSystemInfo>? comparer, Func<FileInfo, IReadOnlyList<DirectoryInfo>, TFileInfo> selector);
-
GetFilesmethods - materialize enumerated file objects into an array.Regular methods
public static FileInfo[] GetFiles(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, Predicate<FileInfo>? filePredicate, Predicate<DirectoryInfo>? directoryPredicate, Comparison<FileSystemInfo>? comparison); public static FileInfo[] GetFiles(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<FileInfo>? filePredicate, Predicate<DirectoryInfo>? directoryPredicate, Comparison<FileSystemInfo>? comparison); public static FileInfo[] GetFiles(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<FileInfo>? filePredicate, Predicate<DirectoryInfo>? directoryPredicate, Comparison<FileSystemInfo>? comparison); public static FileInfo[] GetFiles(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<FileInfo>? filePredicate, Predicate<DirectoryInfo>? directoryPredicate, Comparison<FileSystemInfo>? comparison); public static FileInfo[] GetFiles(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<FileInfo>? filePredicate, Predicate<DirectoryInfo>? directoryPredicate, Comparison<FileSystemInfo>? comparison); public static FileInfo[] GetFiles(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<FileInfo>? filePredicate, Predicate<DirectoryInfo>? directoryPredicate, Comparison<FileSystemInfo>? comparison); public static FileInfo[] GetFiles(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<FileInfo>? filePredicate, Predicate<DirectoryInfo>? directoryPredicate, Comparison<FileSystemInfo>? comparison); public static FileInfo[] GetFiles(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, IPredicate<FileInfo>? filePredicate, IPredicate<DirectoryInfo>? directoryPredicate, IComparer<FileSystemInfo>? comparer); public static FileInfo[] GetFiles(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<FileInfo>? filePredicate, IPredicate<DirectoryInfo>? directoryPredicate, IComparer<FileSystemInfo>? comparer); public static FileInfo[] GetFiles(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<FileInfo>? filePredicate, IPredicate<DirectoryInfo>? directoryPredicate, IComparer<FileSystemInfo>? comparer); public static FileInfo[] GetFiles(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<FileInfo>? filePredicate, IPredicate<DirectoryInfo>? directoryPredicate, IComparer<FileSystemInfo>? comparer); public static FileInfo[] GetFiles(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<FileInfo>? filePredicate, IPredicate<DirectoryInfo>? directoryPredicate, IComparer<FileSystemInfo>? comparer); public static FileInfo[] GetFiles(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<FileInfo>? filePredicate, IPredicate<DirectoryInfo>? directoryPredicate, IComparer<FileSystemInfo>? comparer); public static FileInfo[] GetFiles(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<FileInfo>? filePredicate, IPredicate<DirectoryInfo>? directoryPredicate, IComparer<FileSystemInfo>? comparer);
Regular methods with custom output
public static TFileInfo[] GetFiles<TFileInfo>(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, Predicate<FileInfo>? filePredicate, Predicate<DirectoryInfo>? directoryPredicate, Comparison<FileSystemInfo>? comparison, Func<FileInfo, TFileInfo> selector); public static TFileInfo[] GetFiles<TFileInfo>(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<FileInfo>? filePredicate, Predicate<DirectoryInfo>? directoryPredicate, Comparison<FileSystemInfo>? comparison, Func<FileInfo, TFileInfo> selector); public static TFileInfo[] GetFiles<TFileInfo>(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<FileInfo>? filePredicate, Predicate<DirectoryInfo>? directoryPredicate, Comparison<FileSystemInfo>? comparison, Func<FileInfo, TFileInfo> selector); public static TFileInfo[] GetFiles<TFileInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<FileInfo>? filePredicate, Predicate<DirectoryInfo>? directoryPredicate, Comparison<FileSystemInfo>? comparison, Func<FileInfo, TFileInfo> selector); public static TFileInfo[] GetFiles<TFileInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<FileInfo>? filePredicate, Predicate<DirectoryInfo>? directoryPredicate, Comparison<FileSystemInfo>? comparison, Func<FileInfo, TFileInfo> selector); public static TFileInfo[] GetFiles<TFileInfo>(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<FileInfo>? filePredicate, Predicate<DirectoryInfo>? directoryPredicate, Comparison<FileSystemInfo>? comparison, Func<FileInfo, TFileInfo> selector); public static TFileInfo[] GetFiles<TFileInfo>(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<FileInfo>? filePredicate, Predicate<DirectoryInfo>? directoryPredicate, Comparison<FileSystemInfo>? comparison, Func<FileInfo, TFileInfo> selector); public static TFileInfo[] GetFiles<TFileInfo>(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, IPredicate<FileInfo>? filePredicate, IPredicate<DirectoryInfo>? directoryPredicate, IComparer<FileSystemInfo>? comparer, Func<FileInfo, TFileInfo> selector); public static TFileInfo[] GetFiles<TFileInfo>(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<FileInfo>? filePredicate, IPredicate<DirectoryInfo>? directoryPredicate, IComparer<FileSystemInfo>? comparer, Func<FileInfo, TFileInfo> selector); public static TFileInfo[] GetFiles<TFileInfo>(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<FileInfo>? filePredicate, IPredicate<DirectoryInfo>? directoryPredicate, IComparer<FileSystemInfo>? comparer, Func<FileInfo, TFileInfo> selector); public static TFileInfo[] GetFiles<TFileInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<FileInfo>? filePredicate, IPredicate<DirectoryInfo>? directoryPredicate, IComparer<FileSystemInfo>? comparer, Func<FileInfo, TFileInfo> selector); public static TFileInfo[] GetFiles<TFileInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<FileInfo>? filePredicate, IPredicate<DirectoryInfo>? directoryPredicate, IComparer<FileSystemInfo>? comparer, Func<FileInfo, TFileInfo> selector); public static TFileInfo[] GetFiles<TFileInfo>(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<FileInfo>? filePredicate, IPredicate<DirectoryInfo>? directoryPredicate, IComparer<FileSystemInfo>? comparer, Func<FileInfo, TFileInfo> selector); public static TFileInfo[] GetFiles<TFileInfo>(this DirectoryInfo startDirectoryInfo, Func<DirectoryInfo, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<FileInfo>? filePredicate, IPredicate<DirectoryInfo>? directoryPredicate, IComparer<FileSystemInfo>? comparer, Func<FileInfo, TFileInfo> selector);
Extended methods
public static FileInfo[] GetFilesEx(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, Predicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, Predicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? directoryPredicate, Comparison<FileSystemInfo>? comparison); public static FileInfo[] GetFilesEx(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, Predicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? directoryPredicate, Comparison<FileSystemInfo>? comparison); public static FileInfo[] GetFilesEx(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, Predicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? directoryPredicate, Comparison<FileSystemInfo>? comparison); public static FileInfo[] GetFilesEx(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, Predicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? directoryPredicate, Comparison<FileSystemInfo>? comparison); public static FileInfo[] GetFilesEx(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, Predicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? directoryPredicate, Comparison<FileSystemInfo>? comparison); public static FileInfo[] GetFilesEx(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<(FileInfo fileInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? filePredicate, Predicate<(DirectoryInfo directoryInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? directoryPredicate, Comparison<FileSystemInfo>? comparison); public static FileInfo[] GetFilesEx(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<(FileInfo fileInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? filePredicate, Predicate<(DirectoryInfo directoryInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? directoryPredicate, Comparison<FileSystemInfo>? comparison); public static FileInfo[] GetFilesEx(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, IPredicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, IPredicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? directoryPredicate, IComparer<FileSystemInfo>? comparer); public static FileInfo[] GetFilesEx(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, IPredicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? directoryPredicate, IComparer<FileSystemInfo>? comparer); public static FileInfo[] GetFilesEx(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, IPredicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? directoryPredicate, IComparer<FileSystemInfo>? comparer); public static FileInfo[] GetFilesEx(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, IPredicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? directoryPredicate, IComparer<FileSystemInfo>? comparer); public static FileInfo[] GetFilesEx(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, IPredicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? directoryPredicate, IComparer<FileSystemInfo>? comparer); public static FileInfo[] GetFilesEx(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<(FileInfo fileInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? filePredicate, IPredicate<(DirectoryInfo directoryInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? directoryPredicate, IComparer<FileSystemInfo>? comparer); public static FileInfo[] GetFilesEx(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<(FileInfo fileInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? filePredicate, IPredicate<(DirectoryInfo directoryInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? directoryPredicate, IComparer<FileSystemInfo>? comparer);
Extended methods with custom output
public static TFileInfo[] GetFilesEx<TFileInfo>(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, Predicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, Predicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? directoryPredicate, Comparison<FileSystemInfo>? comparison, Func<FileInfo, IReadOnlyList<DirectoryInfo>, TFileInfo> selector); public static TFileInfo[] GetFilesEx<TFileInfo>(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, Predicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? directoryPredicate, Comparison<FileSystemInfo>? comparison, Func<FileInfo, IReadOnlyList<DirectoryInfo>, TFileInfo> selector); public static TFileInfo[] GetFilesEx<TFileInfo>(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, Predicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? directoryPredicate, Comparison<FileSystemInfo>? comparison, Func<FileInfo, IReadOnlyList<DirectoryInfo>, TFileInfo> selector); public static TFileInfo[] GetFilesEx<TFileInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, Predicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? directoryPredicate, Comparison<FileSystemInfo>? comparison, Func<FileInfo, IReadOnlyList<DirectoryInfo>, TFileInfo> selector); public static TFileInfo[] GetFilesEx<TFileInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, Predicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? directoryPredicate, Comparison<FileSystemInfo>? comparison, Func<FileInfo, IReadOnlyList<DirectoryInfo>, TFileInfo> selector); public static TFileInfo[] GetFilesEx<TFileInfo>(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, Predicate<(FileInfo fileInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? filePredicate, Predicate<(DirectoryInfo directoryInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? directoryPredicate, Comparison<FileSystemInfo>? comparison, Func<FileInfo, IReadOnlyList<DirectoryInfo>, TFileInfo> selector); public static TFileInfo[] GetFilesEx<TFileInfo>(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, Predicate<(FileInfo fileInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? filePredicate, Predicate<(DirectoryInfo directoryInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? directoryPredicate, Comparison<FileSystemInfo>? comparison, Func<FileInfo, IReadOnlyList<DirectoryInfo>, TFileInfo> selector); public static TFileInfo[] GetFilesEx<TFileInfo>(this DirectoryInfo startDirectoryInfo, FileSystemTraversalOptions traversalOptions, IPredicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, IPredicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? directoryPredicate, IComparer<FileSystemInfo>? comparer, Func<FileInfo, IReadOnlyList<DirectoryInfo>, TFileInfo> selector); public static TFileInfo[] GetFilesEx<TFileInfo>(this DirectoryInfo startDirectoryInfo, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, IPredicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? directoryPredicate, IComparer<FileSystemInfo>? comparer, Func<FileInfo, IReadOnlyList<DirectoryInfo>, TFileInfo> selector); public static TFileInfo[] GetFilesEx<TFileInfo>(this DirectoryInfo startDirectoryInfo, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, IPredicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? directoryPredicate, IComparer<FileSystemInfo>? comparer, Func<FileInfo, IReadOnlyList<DirectoryInfo>, TFileInfo> selector); public static TFileInfo[] GetFilesEx<TFileInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, IPredicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? directoryPredicate, IComparer<FileSystemInfo>? comparer, Func<FileInfo, IReadOnlyList<DirectoryInfo>, TFileInfo> selector); public static TFileInfo[] GetFilesEx<TFileInfo>(this DirectoryInfo startDirectoryInfo, string searchPattern, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, IPredicate<(DirectoryInfo, IReadOnlyList<DirectoryInfo>)>? directoryPredicate, IComparer<FileSystemInfo>? comparer, Func<FileInfo, IReadOnlyList<DirectoryInfo>, TFileInfo> selector); public static TFileInfo[] GetFilesEx<TFileInfo>(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, SearchOption searchOption, FileSystemTraversalOptions traversalOptions, IPredicate<(FileInfo fileInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? filePredicate, IPredicate<(DirectoryInfo directoryInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? directoryPredicate, IComparer<FileSystemInfo>? comparer, Func<FileInfo, IReadOnlyList<DirectoryInfo>, TFileInfo> selector); public static TFileInfo[] GetFilesEx<TFileInfo>(this DirectoryInfo startDirectoryInfo, Func<IReadOnlyList<DirectoryInfo>, string?> searchPatternSelector, int maxDepth, FileSystemTraversalOptions traversalOptions, IPredicate<(FileInfo, IReadOnlyList<DirectoryInfo>)>? filePredicate, IPredicate<(DirectoryInfo directoryInfo, IReadOnlyList<DirectoryInfo> parentalDirectoryInfos)>? directoryPredicate, IComparer<FileSystemInfo>? comparer, Func<FileInfo, IReadOnlyList<DirectoryInfo>, TFileInfo> selector);
-
ManipulateFileSystemInfosmethods - File System objects manipulation methods.File System objects manipulation asynchronus methods
public static IAsyncEnumerable<TManipulationResult> ManipulateFileSystemInfosAsync<TFileSystemItem, TManipulationParams, TManipulationInterim, TManipulationResult>(this IEnumerable<TFileSystemItem> fileSystemItems, FileSystemManipulationOptions manipulationOptions, Func<TFileSystemItem, MarkedInfo<FileSystemInfo>> markedInfoSelector, Func<TFileSystemItem, TManipulationParams> manipulationParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, TManipulationParams, TManipulationInterim?> fileSystemHandler, Func<FileSystemInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, TManipulationInterim?, TManipulationResult> resultSelector, Func<FileSystemInfo, FileSystemTraversalMarker, TManipulationParams?, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IAsyncEnumerable<TManipulationResult> ManipulateFileSystemInfosAsync<TFileSystemItem, TManipulationParams, TManipulationResult>(this IEnumerable<TFileSystemItem> fileSystemItems, FileSystemManipulationOptions manipulationOptions, Func<TFileSystemItem, MarkedInfo<FileSystemInfo>> markedInfoSelector, Func<TFileSystemItem, TManipulationParams> manipulationParamsSelector, Action<FileSystemInfo, FileSystemTraversalMarker, TManipulationParams> fileSystemHandler, Func<FileSystemInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, TManipulationResult> resultSelector, Func<FileSystemInfo, FileSystemTraversalMarker, TManipulationParams?, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default)
File System objects manipulation deferred methods
public static IEnumerable<TManipulationResult> ManipulateFileSystemInfosDefer<TFileSystemItem, TManipulationParams, TManipulationInterim, TManipulationResult>(this IEnumerable<TFileSystemItem> fileSystemItems, FileSystemManipulationOptions manipulationOptions, Func<TFileSystemItem, MarkedInfo<FileSystemInfo>> markedInfoSelector, Func<TFileSystemItem, TManipulationParams> manipulationParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, TManipulationParams, TManipulationInterim?> fileSystemHandler, Func<FileSystemInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, TManipulationInterim?, TManipulationResult> resultSelector, Func<FileSystemInfo, FileSystemTraversalMarker, TManipulationParams?, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<TManipulationResult> ManipulateFileSystemInfosDefer<TFileSystemItem, TManipulationParams, TManipulationInterim, TManipulationResult>(this IEnumerable<TFileSystemItem> fileSystemItems, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<TFileSystemItem, MarkedInfo<FileSystemInfo>> markedInfoSelector, Func<TFileSystemItem, TManipulationParams> manipulationParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, TManipulationParams, TManipulationInterim?> fileSystemHandler, Func<FileSystemInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, TManipulationInterim?, TManipulationResult> resultSelector, Func<FileSystemInfo, FileSystemTraversalMarker, TManipulationParams?, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<TManipulationResult> ManipulateFileSystemInfosDefer<TFileSystemItem, TManipulationParams, TManipulationResult>(this IEnumerable<TFileSystemItem> fileSystemItems, FileSystemManipulationOptions manipulationOptions, Func<TFileSystemItem, MarkedInfo<FileSystemInfo>> markedInfoSelector, Func<TFileSystemItem, TManipulationParams> manipulationParamsSelector, Action<FileSystemInfo, FileSystemTraversalMarker, TManipulationParams> fileSystemHandler, Func<FileSystemInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, TManipulationResult> resultSelector, Func<FileSystemInfo, FileSystemTraversalMarker, TManipulationParams?, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<TManipulationResult> ManipulateFileSystemInfosDefer<TFileSystemItem, TManipulationParams, TManipulationResult>(this IEnumerable<TFileSystemItem> fileSystemItems, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<TFileSystemItem, MarkedInfo<FileSystemInfo>> markedInfoSelector, Func<TFileSystemItem, TManipulationParams> manipulationParamsSelector, Action<FileSystemInfo, FileSystemTraversalMarker, TManipulationParams> fileSystemHandler, Func<FileSystemInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, TManipulationResult> resultSelector, Func<FileSystemInfo, FileSystemTraversalMarker, TManipulationParams?, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default);
File System objects manipulation direct methods
public static TManipulationResult[] ManipulateFileSystemInfos<TFileSystemItem, TManipulationParams, TManipulationInterim, TManipulationResult>(this IEnumerable<TFileSystemItem> fileSystemItems, FileSystemManipulationOptions manipulationOptions, Func<TFileSystemItem, MarkedInfo<FileSystemInfo>> markedInfoSelector, Func<TFileSystemItem, TManipulationParams> manipulationParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, TManipulationParams, TManipulationInterim?> fileSystemHandler, Func<FileSystemInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, TManipulationInterim?, TManipulationResult> resultSelector, Func<FileSystemInfo, FileSystemTraversalMarker, TManipulationParams?, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static TManipulationResult[] ManipulateFileSystemInfos<TFileSystemItem, TManipulationParams, TManipulationInterim, TManipulationResult>(this IEnumerable<TFileSystemItem> fileSystemItems, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<TFileSystemItem, MarkedInfo<FileSystemInfo>> markedInfoSelector, Func<TFileSystemItem, TManipulationParams> manipulationParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, TManipulationParams, TManipulationInterim?> fileSystemHandler, Func<FileSystemInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, TManipulationInterim?, TManipulationResult> resultSelector, Func<FileSystemInfo, FileSystemTraversalMarker, TManipulationParams?, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static TManipulationResult[] ManipulateFileSystemInfos<TFileSystemItem, TManipulationParams, TManipulationResult>(this IEnumerable<TFileSystemItem> fileSystemItems, FileSystemManipulationOptions manipulationOptions, Func<TFileSystemItem, MarkedInfo<FileSystemInfo>> markedInfoSelector, Func<TFileSystemItem, TManipulationParams> manipulationParamsSelector, Action<FileSystemInfo, FileSystemTraversalMarker, TManipulationParams> fileSystemHandler, Func<FileSystemInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, TManipulationResult> resultSelector, Func<FileSystemInfo, FileSystemTraversalMarker, TManipulationParams?, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static TManipulationResult[] ManipulateFileSystemInfos<TFileSystemItem, TManipulationParams, TManipulationResult>(this IEnumerable<TFileSystemItem> fileSystemItems, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<TFileSystemItem, MarkedInfo<FileSystemInfo>> markedInfoSelector, Func<TFileSystemItem, TManipulationParams> manipulationParamsSelector, Action<FileSystemInfo, FileSystemTraversalMarker, TManipulationParams> fileSystemHandler, Func<FileSystemInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, TManipulationResult> resultSelector, Func<FileSystemInfo, FileSystemTraversalMarker, TManipulationParams?, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default);
-
CopyFileSystemInfosmethods - File System objects copy methods.File System objects asynchronus copy methods
public static IAsyncEnumerable<TTransferResult> CopyFileSystemInfosAsync<TFileSystemItem, TTransferResult>(this IEnumerable<TFileSystemItem> fileSystemItems, FileSystemManipulationOptions manipulationOptions, Func<TFileSystemItem, MarkedInfo<FileSystemInfo>> markedInfoSelector, Func<TFileSystemItem, TransferOptions> copyParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, FileSystemInfo?, TTransferResult> resultSelector, Func<FileSystemInfo, FileSystemTraversalMarker, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IAsyncEnumerable<TransferResult<FileSystemInfo>> CopyFileSystemInfosAsync(this IEnumerable<MarkedInfo<FileSystemInfo>> fileSystemItems, FileSystemManipulationOptions manipulationOptions, Func<FileSystemInfo, FileSystemTraversalMarker, TransferOptions> copyParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IAsyncEnumerable<TransferResult<FileSystemInfo>> CopyFileSystemInfosAsync(this IEnumerable<FileSystemInfo> fileSystemInfos, FileSystemManipulationOptions manipulationOptions, Func<FileSystemInfo, TransferOptions> copyParamsSelector, Func<FileSystemInfo, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default);
File System objects deferred copy methods
public static IEnumerable<TTransferResult> CopyFileSystemInfosDefer<TFileSystemItem, TTransferResult>(this IEnumerable<TFileSystemItem> fileSystemItems, FileSystemManipulationOptions manipulationOptions, Func<TFileSystemItem, MarkedInfo<FileSystemInfo>> markedInfoSelector, Func<TFileSystemItem, TransferOptions> copyParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, FileSystemInfo?, TTransferResult> resultSelector, Func<FileSystemInfo, FileSystemTraversalMarker, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<TTransferResult> CopyFileSystemInfosDefer<TFileSystemItem, TTransferResult>(this IEnumerable<TFileSystemItem> fileSystemItems, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<TFileSystemItem, MarkedInfo<FileSystemInfo>> markedInfoSelector, Func<TFileSystemItem, TransferOptions> copyParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, FileSystemInfo?, TTransferResult> resultSelector, Func<FileSystemInfo, FileSystemTraversalMarker, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<TransferResult<FileSystemInfo>> CopyFileSystemInfosDefer(this IEnumerable<MarkedInfo<FileSystemInfo>> fileSystemItems, FileSystemManipulationOptions manipulationOptions, Func<FileSystemInfo, FileSystemTraversalMarker, TransferOptions> copyParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<TransferResult<FileSystemInfo>> CopyFileSystemInfosDefer(this IEnumerable<MarkedInfo<FileSystemInfo>> fileSystemItems, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<FileSystemInfo, FileSystemTraversalMarker, TransferOptions> copyParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<TransferResult<FileSystemInfo>> CopyFileSystemInfosDefer(this IEnumerable<FileSystemInfo> fileSystemInfos, FileSystemManipulationOptions manipulationOptions, Func<FileSystemInfo, TransferOptions> copyParamsSelector, Func<FileSystemInfo, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<TransferResult<FileSystemInfo>> CopyFileSystemInfosDefer(this IEnumerable<FileSystemInfo> fileSystemInfos, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<FileSystemInfo, TransferOptions> copyParamsSelector, Func<FileSystemInfo, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default);
File System objects direct copy methods
public static TTransferResult[] CopyFileSystemInfos<TFileSystemItem, TTransferResult>(this IEnumerable<TFileSystemItem> fileSystemItems, FileSystemManipulationOptions manipulationOptions, Func<TFileSystemItem, MarkedInfo<FileSystemInfo>> markedInfoSelector, Func<TFileSystemItem, TransferOptions> copyParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, FileSystemInfo, TTransferResult> resultSelector, Func<FileSystemInfo, FileSystemTraversalMarker, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static TTransferResult[] CopyFileSystemInfos<TFileSystemItem, TTransferResult>(this IEnumerable<TFileSystemItem> fileSystemItems, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<TFileSystemItem, MarkedInfo<FileSystemInfo>> markedInfoSelector, Func<TFileSystemItem, TransferOptions> copyParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, FileSystemInfo, TTransferResult> resultSelector, Func<FileSystemInfo, FileSystemTraversalMarker, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static TransferResult<FileSystemInfo>[] CopyFileSystemInfos(this IEnumerable<MarkedInfo<FileSystemInfo>> fileSystemItems, FileSystemManipulationOptions manipulationOptions, Func<FileSystemInfo, FileSystemTraversalMarker, TransferOptions> copyParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static TransferResult<FileSystemInfo>[] CopyFileSystemInfos(this IEnumerable<MarkedInfo<FileSystemInfo>> fileSystemItems, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<FileSystemInfo, FileSystemTraversalMarker, TransferOptions> copyParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static TransferResult<FileSystemInfo>[] CopyFileSystemInfos(this IEnumerable<FileSystemInfo> fileSystemInfos, FileSystemManipulationOptions manipulationOptions, Func<FileSystemInfo, TransferOptions> copyParamsSelector, Func<FileSystemInfo, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static TransferResult<FileSystemInfo>[] CopyFileSystemInfos(this IEnumerable<FileSystemInfo> fileSystemInfos, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<FileSystemInfo, TransferOptions> copyParamsSelector, Func<FileSystemInfo, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default);
-
MoveFileSystemInfosmethods - File System objects move methods.File System objects asynchronus move methods
public static IAsyncEnumerable<TTransferResult> MoveFileSystemInfosAsync<TFileSystemItem, TTransferResult>(this IEnumerable<TFileSystemItem> fileSystemItems, FileSystemManipulationOptions manipulationOptions, Func<TFileSystemItem, MarkedInfo<FileSystemInfo>> markedInfoSelector, Func<TFileSystemItem, TransferOptions> moveParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, FileSystemInfo?, TTransferResult> resultSelector, Func<FileSystemInfo, FileSystemTraversalMarker, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IAsyncEnumerable<TransferResult<FileSystemInfo>> MoveFileSystemInfosAsync(this IEnumerable<MarkedInfo<FileSystemInfo>> fileSystemItems, FileSystemManipulationOptions manipulationOptions, Func<FileSystemInfo, FileSystemTraversalMarker, TransferOptions> moveParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IAsyncEnumerable<TransferResult<FileSystemInfo>> MoveFileSystemInfosAsync(this IEnumerable<FileSystemInfo> fileSystemInfos, FileSystemManipulationOptions manipulationOptions, Func<FileSystemInfo, TransferOptions> moveParamsSelector, Func<FileSystemInfo, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default);
File System objects deferred move methods
public static IEnumerable<TTransferResult> MoveFileSystemInfosDefer<TFileSystemItem, TTransferResult>(this IEnumerable<TFileSystemItem> fileSystemItems, FileSystemManipulationOptions manipulationOptions, Func<TFileSystemItem, MarkedInfo<FileSystemInfo>> markedInfoSelector, Func<TFileSystemItem, TransferOptions> moveParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, FileSystemInfo?, TTransferResult> resultSelector, Func<FileSystemInfo, FileSystemTraversalMarker, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<TTransferResult> MoveFileSystemInfosDefer<TFileSystemItem, TTransferResult>(this IEnumerable<TFileSystemItem> fileSystemItems, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<TFileSystemItem, MarkedInfo<FileSystemInfo>> markedInfoSelector, Func<TFileSystemItem, TransferOptions> moveParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, FileSystemInfo, TTransferResult> resultSelector, Func<FileSystemInfo, FileSystemTraversalMarker, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<TransferResult<FileSystemInfo>> MoveFileSystemInfosDefer(this IEnumerable<MarkedInfo<FileSystemInfo>> fileSystemItems, FileSystemManipulationOptions manipulationOptions, Func<FileSystemInfo, FileSystemTraversalMarker, TransferOptions> moveParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<TransferResult<FileSystemInfo>> MoveFileSystemInfosDefer(this IEnumerable<MarkedInfo<FileSystemInfo>> fileSystemItems, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<FileSystemInfo, FileSystemTraversalMarker, TransferOptions> moveParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<TransferResult<FileSystemInfo>> MoveFileSystemInfosDefer(this IEnumerable<FileSystemInfo> fileSystemInfos, FileSystemManipulationOptions manipulationOptions, Func<FileSystemInfo, TransferOptions> moveParamsSelector, Func<FileSystemInfo, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<TransferResult<FileSystemInfo>> MoveFileSystemInfosDefer(this IEnumerable<FileSystemInfo> fileSystemInfos, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<FileSystemInfo, TransferOptions> moveParamsSelector, Func<FileSystemInfo, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default);
File System objects direct move methods
public static TTransferResult[] MoveFileSystemInfos<TFileSystemItem, TTransferResult>(this IEnumerable<TFileSystemItem> fileSystemItems, FileSystemManipulationOptions manipulationOptions, Func<TFileSystemItem, MarkedInfo<FileSystemInfo>> markedInfoSelector, Func<TFileSystemItem, TransferOptions> moveParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, FileSystemInfo, TTransferResult> resultSelector, Func<FileSystemInfo, FileSystemTraversalMarker, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static TTransferResult[] MoveFileSystemInfos<TFileSystemItem, TTransferResult>(this IEnumerable<TFileSystemItem> fileSystemItems, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<TFileSystemItem, MarkedInfo<FileSystemInfo>> markedInfoSelector, Func<TFileSystemItem, TransferOptions> moveParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, FileSystemInfo, TTransferResult> resultSelector, Func<FileSystemInfo, FileSystemTraversalMarker, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static TransferResult<FileSystemInfo>[] MoveFileSystemInfos(this IEnumerable<MarkedInfo<FileSystemInfo>> fileSystemItems, FileSystemManipulationOptions manipulationOptions, Func<FileSystemInfo, FileSystemTraversalMarker, TransferOptions> moveParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static TransferResult<FileSystemInfo>[] MoveFileSystemInfos(this IEnumerable<MarkedInfo<FileSystemInfo>> fileSystemItems, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<FileSystemInfo, FileSystemTraversalMarker, TransferOptions> moveParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static TransferResult<FileSystemInfo>[] MoveFileSystemInfos(this IEnumerable<FileSystemInfo> fileSystemInfos, FileSystemManipulationOptions manipulationOptions, Func<FileSystemInfo, TransferOptions> moveParamsSelector, Func<FileSystemInfo, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static TransferResult<FileSystemInfo>[] MoveFileSystemInfos(this IEnumerable<FileSystemInfo> fileSystemInfos, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<FileSystemInfo, TransferOptions> moveParamsSelector, Func<FileSystemInfo, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default);
-
ReplaceFileSystemInfosmethods - File System objects replace methods.File System objects asynchronus replace methods
public static IAsyncEnumerable<TReplaceResult> ReplaceFileSystemInfosAsync<TFileSystemItem, TReplaceResult>(this IEnumerable<TFileSystemItem> fileSystemItems, FileSystemManipulationOptions manipulationOptions, Func<TFileSystemItem, MarkedInfo<FileSystemInfo>> markedInfoSelector, Func<TFileSystemItem, ReplaceOptions> replaceParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, FileSystemInfo, FileSystemInfo?, TReplaceResult> resultSelector, Func<FileSystemInfo, FileSystemTraversalMarker, ReplaceOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IAsyncEnumerable<ReplaceResult<FileSystemInfo>> ReplaceFileSystemInfosAsync(this IEnumerable<MarkedInfo<FileSystemInfo>> fileSystemItems, FileSystemManipulationOptions manipulationOptions, Func<FileSystemInfo, FileSystemTraversalMarker, ReplaceOptions> replaceParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, ReplaceOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IAsyncEnumerable<ReplaceResult<FileSystemInfo>> ReplaceFileSystemInfosAsync(this IEnumerable<FileSystemInfo> fileSystemInfos, FileSystemManipulationOptions manipulationOptions, Func<FileSystemInfo, ReplaceOptions> replaceParamsSelector, Func<FileSystemInfo, ReplaceOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default);
File System objects deferred replace methods
public static IEnumerable<TReplaceResult> ReplaceFileSystemInfosDefer<TFileSystemItem, TReplaceResult>(this IEnumerable<TFileSystemItem> fileSystemItems, FileSystemManipulationOptions manipulationOptions, Func<TFileSystemItem, MarkedInfo<FileSystemInfo>> markedInfoSelector, Func<TFileSystemItem, ReplaceOptions> replaceParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, FileSystemInfo, FileSystemInfo?, TReplaceResult> resultSelector, Func<FileSystemInfo, FileSystemTraversalMarker, ReplaceOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<TReplaceResult> ReplaceFileSystemInfosDefer<TFileSystemItem, TReplaceResult>(this IEnumerable<TFileSystemItem> fileSystemItems, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<TFileSystemItem, MarkedInfo<FileSystemInfo>> markedInfoSelector, Func<TFileSystemItem, ReplaceOptions> replaceParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, FileSystemInfo, FileSystemInfo?, TReplaceResult> resultSelector, Func<FileSystemInfo, FileSystemTraversalMarker, ReplaceOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<ReplaceResult<FileSystemInfo>> ReplaceFileSystemInfosDefer(this IEnumerable<MarkedInfo<FileSystemInfo>> fileSystemItems, FileSystemManipulationOptions manipulationOptions, Func<FileSystemInfo, FileSystemTraversalMarker, ReplaceOptions> replaceParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, ReplaceOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<ReplaceResult<FileSystemInfo>> ReplaceFileSystemInfosDefer(this IEnumerable<MarkedInfo<FileSystemInfo>> fileSystemItems, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<FileSystemInfo, FileSystemTraversalMarker, ReplaceOptions> replaceParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, ReplaceOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<ReplaceResult<FileSystemInfo>> ReplaceFileSystemInfosDefer(this IEnumerable<FileSystemInfo> fileSystemInfos, FileSystemManipulationOptions manipulationOptions, Func<FileSystemInfo, ReplaceOptions> replaceParamsSelector, Func<FileSystemInfo, ReplaceOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<ReplaceResult<FileSystemInfo>> ReplaceFileSystemInfosDefer(this IEnumerable<FileSystemInfo> fileSystemInfos, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<FileSystemInfo, ReplaceOptions> replaceParamsSelector, Func<FileSystemInfo, ReplaceOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default);
File System objects direct replace methods
public static TReplaceResult[] ReplaceFileSystemInfos<TFileSystemItem, TReplaceResult>(this IEnumerable<TFileSystemItem> fileSystemItems, FileSystemManipulationOptions manipulationOptions, Func<TFileSystemItem, MarkedInfo<FileSystemInfo>> markedInfoSelector, Func<TFileSystemItem, ReplaceOptions> replaceParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, FileSystemInfo, FileSystemInfo?, TReplaceResult> resultSelector, Func<FileSystemInfo, FileSystemTraversalMarker, ReplaceOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static TReplaceResult[] ReplaceFileSystemInfos<TFileSystemItem, TReplaceResult>(this IEnumerable<TFileSystemItem> fileSystemItems, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<TFileSystemItem, MarkedInfo<FileSystemInfo>> markedInfoSelector, Func<TFileSystemItem, ReplaceOptions> replaceParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, FileSystemInfo, FileSystemInfo?, TReplaceResult> resultSelector, Func<FileSystemInfo, FileSystemTraversalMarker, ReplaceOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static ReplaceResult<FileSystemInfo>[] ReplaceFileSystemInfos(this IEnumerable<MarkedInfo<FileSystemInfo>> fileSystemItems, FileSystemManipulationOptions manipulationOptions, Func<FileSystemInfo, FileSystemTraversalMarker, ReplaceOptions> replaceParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, ReplaceOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static ReplaceResult<FileSystemInfo>[] ReplaceFileSystemInfos(this IEnumerable<MarkedInfo<FileSystemInfo>> fileSystemItems, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<FileSystemInfo, FileSystemTraversalMarker, ReplaceOptions> replaceParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, ReplaceOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static ReplaceResult<FileSystemInfo>[] ReplaceFileSystemInfos(this IEnumerable<FileSystemInfo> fileSystemInfos, FileSystemManipulationOptions manipulationOptions, Func<FileSystemInfo, ReplaceOptions> replaceParamsSelector, Func<FileSystemInfo, ReplaceOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static ReplaceResult<FileSystemInfo>[] ReplaceFileSystemInfos(this IEnumerable<FileSystemInfo> fileSystemInfos, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<FileSystemInfo, ReplaceOptions> replaceParamsSelector, Func<FileSystemInfo, ReplaceOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default);
-
DeleteFileSystemInfosmethods - File System objects delete methods.File System objects asynchronus delete methods
public static IAsyncEnumerable<TDeleteResult> DeleteFileSystemInfosAsync<TFileSystemItem, TDeleteResult>(this IEnumerable<TFileSystemItem> fileSystemItems, FileSystemManipulationOptions manipulationOptions, Func<TFileSystemItem, MarkedInfo<FileSystemInfo>> markedInfoSelector, Func<TFileSystemItem, DeleteOptions> deleteParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, TDeleteResult> resultSelector, Func<FileSystemInfo, FileSystemTraversalMarker, DeleteOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IAsyncEnumerable<InfoResult<FileSystemInfo>> DeleteFileSystemInfosAsync(this IEnumerable<MarkedInfo<FileSystemInfo>> fileSystemItems, FileSystemManipulationOptions manipulationOptions, Func<FileSystemInfo, FileSystemTraversalMarker, DeleteOptions> deleteParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, DeleteOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IAsyncEnumerable<InfoResult<FileSystemInfo>> DeleteFileSystemInfosAsync(this IEnumerable<FileSystemInfo> fileSystemInfos, FileSystemManipulationOptions manipulationOptions, Func<FileSystemInfo, DeleteOptions> deleteParamsSelector, Func<FileSystemInfo, DeleteOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default);
File System objects deferred delete methods
public static IEnumerable<TDeleteResult> DeleteFileSystemInfosDefer<TFileSystemItem, TDeleteResult>(this IEnumerable<TFileSystemItem> fileItems, FileSystemManipulationOptions manipulationOptions, Func<TFileSystemItem, MarkedInfo<FileSystemInfo>> markedInfoSelector, Func<TFileSystemItem, DeleteOptions> deleteParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, TDeleteResult> resultSelector, Func<FileSystemInfo, FileSystemTraversalMarker, DeleteOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<TDeleteResult> DeleteFileSystemInfosDefer<TFileSystemItem, TDeleteResult>(this IEnumerable<TFileSystemItem> fileSystemItems, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<TFileSystemItem, MarkedInfo<FileSystemInfo>> markedInfoSelector, Func<TFileSystemItem, DeleteOptions> deleteParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, TDeleteResult> resultSelector, Func<FileSystemInfo, FileSystemTraversalMarker, DeleteOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<InfoResult<FileSystemInfo>> DeleteFileSystemInfosDefer(this IEnumerable<MarkedInfo<FileSystemInfo>> fileSystemItems, FileSystemManipulationOptions manipulationOptions, Func<FileSystemInfo, FileSystemTraversalMarker, DeleteOptions> deleteParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, DeleteOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<InfoResult<FileSystemInfo>> DeleteFileSystemInfosDefer(this IEnumerable<MarkedInfo<FileSystemInfo>> fileSystemItems, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<FileSystemInfo, FileSystemTraversalMarker, DeleteOptions> deleteParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, DeleteOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<InfoResult<FileSystemInfo>> DeleteFileSystemInfosDefer(this IEnumerable<FileSystemInfo> fileSystemInfos, FileSystemManipulationOptions manipulationOptions, Func<FileSystemInfo, DeleteOptions> deleteParamsSelector, Func<FileSystemInfo, DeleteOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<InfoResult<FileSystemInfo>> DeleteFileSystemInfosDefer(this IEnumerable<FileSystemInfo> fileSystemInfos, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<FileSystemInfo, DeleteOptions> deleteParamsSelector, Func<FileSystemInfo, DeleteOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default);
File System objects direct delete methods
public static TDeleteResult[] DeleteFileSystemInfos<TDirectoryItem, TDeleteResult>(this IEnumerable<TDirectoryItem> directoryItems, FileSystemManipulationOptions manipulationOptions, Func<TDirectoryItem, MarkedInfo<FileSystemInfo>> markedInfoSelector, Func<TDirectoryItem, DeleteOptions> deleteParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, TDeleteResult> resultSelector, Func<FileSystemInfo, FileSystemTraversalMarker, DeleteOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static TDeleteResult[] DeleteFileSystemInfos<TFileSystemItem, TDeleteResult>(this IEnumerable<TFileSystemItem> fileSystemItems, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<TFileSystemItem, MarkedInfo<FileSystemInfo>> markedInfoSelector, Func<TFileSystemItem, DeleteOptions> deleteParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, TDeleteResult> resultSelector, Func<FileSystemInfo, FileSystemTraversalMarker, DeleteOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static InfoResult<FileSystemInfo>[] DeleteFileSystemInfos(this IEnumerable<MarkedInfo<FileSystemInfo>> fileSystemItems, FileSystemManipulationOptions manipulationOptions, Func<FileSystemInfo, FileSystemTraversalMarker, DeleteOptions> deleteParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, DeleteOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static InfoResult<FileSystemInfo>[] DeleteFileSystemInfos(this IEnumerable<MarkedInfo<FileSystemInfo>> fileSystemItems, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<FileSystemInfo, FileSystemTraversalMarker, DeleteOptions> deleteParamsSelector, Func<FileSystemInfo, FileSystemTraversalMarker, DeleteOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static InfoResult<FileSystemInfo>[] DeleteFileSystemInfos(this IEnumerable<FileSystemInfo> fileSystemInfos, FileSystemManipulationOptions manipulationOptions, Func<FileSystemInfo, DeleteOptions> deleteParamsSelector, Func<FileSystemInfo, DeleteOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static InfoResult<FileSystemInfo>[] DeleteFileSystemInfos(this IEnumerable<FileSystemInfo> fileSystemInfos, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<FileSystemInfo, DeleteOptions> deleteParamsSelector, Func<FileSystemInfo, DeleteOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default);
-
ManipulateDirectoriesmethods - Directories manipulation methods.Directories manipulation deferred methods
public static IEnumerable<TManipulationResult> ManipulateDirectoriesDefer<TDirectoryItem, TManipulationParams, TManipulationInterim, TManipulationResult>(this IEnumerable<TDirectoryItem> directoryItems, FileSystemManipulationOptions manipulationOptions, Func<TDirectoryItem, MarkedInfo<DirectoryInfo>> markedInfoSelector, Func<TDirectoryItem, TManipulationParams> manipulationParamsSelector, Func<DirectoryInfo, FileSystemTraversalMarker, TManipulationParams, TManipulationInterim?> directoryHandler, Func<DirectoryInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, TManipulationInterim?, TManipulationResult> resultSelector, Func<DirectoryInfo, FileSystemTraversalMarker, TManipulationParams?, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<TManipulationResult> ManipulateDirectoriesDefer<TDirectoryItem, TManipulationParams, TManipulationResult>(this IEnumerable<TDirectoryItem> directoryItems, FileSystemManipulationOptions manipulationOptions, Func<TDirectoryItem, MarkedInfo<DirectoryInfo>> markedInfoSelector, Func<TDirectoryItem, TManipulationParams> manipulationParamsSelector, Action<DirectoryInfo, FileSystemTraversalMarker, TManipulationParams> directoryHandler, Func<DirectoryInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, TManipulationResult> resultSelector, Func<DirectoryInfo, FileSystemTraversalMarker, TManipulationParams?, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default);
Directories manipulation direct methods
public static TManipulationResult[] ManipulateDirectories<TDirectoryItem, TManipulationOptions, TManipulationInterim, TManipulationResult>(this IEnumerable<TDirectoryItem> directoryItems, FileSystemManipulationOptions manipulationOptions, Func<TDirectoryItem, MarkedInfo<DirectoryInfo>> markedInfoSelector, Func<TDirectoryItem, TManipulationOptions> manipulationParamsSelector, Func<DirectoryInfo, FileSystemTraversalMarker, TManipulationOptions, TManipulationInterim?> directoryHandler, Func<DirectoryInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, TManipulationInterim?, TManipulationResult> resultSelector, Func<DirectoryInfo, FileSystemTraversalMarker, TManipulationOptions?, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static TManipulationResult[] ManipulateDirectories<TDirectoryItem, TManipulationOptions, TManipulationResult>(this IEnumerable<TDirectoryItem> directoryItems, FileSystemManipulationOptions manipulationOptions, Func<TDirectoryItem, MarkedInfo<DirectoryInfo>> markedInfoSelector, Func<TDirectoryItem, TManipulationOptions> manipulationParamsSelector, Action<DirectoryInfo, FileSystemTraversalMarker, TManipulationOptions> directoryHandler, Func<DirectoryInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, TManipulationResult> resultSelector, Func<DirectoryInfo, FileSystemTraversalMarker, TManipulationOptions?, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default);
-
ReplicateDirectoriesmethods - Directories replication methods.Directories replication deferred methods
public static IEnumerable<TReplicationResult> ReplicateDirectoriesDefer<TDirectoryItem, TReplicationResult>(this IEnumerable<TDirectoryItem> directoryItems, FileSystemManipulationOptions manipulationOptions, Func<TDirectoryItem, MarkedInfo<DirectoryInfo>> markedInfoSelector, Func<TDirectoryItem, ReplicateOptions> replicationParametersSelector, Func<DirectoryInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, DirectoryInfo?, TReplicationResult> resultSelector, Func<DirectoryInfo, FileSystemTraversalMarker, ReplicateOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<TransferResult<DirectoryInfo>> ReplicateDirectoriesDefer(this IEnumerable<MarkedInfo<DirectoryInfo>> directoryItems, FileSystemManipulationOptions manipulationOptions, Func<DirectoryInfo, FileSystemTraversalMarker, ReplicateOptions> replicationParametersSelector, Func<DirectoryInfo, FileSystemTraversalMarker, ReplicateOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<TransferResult<DirectoryInfo>> ReplicateDirectoriesDefer(this IEnumerable<DirectoryInfo> directoryItems, FileSystemManipulationOptions manipulationOptions, Func<DirectoryInfo, ReplicateOptions> replicationParametersSelector, Func<DirectoryInfo, ReplicateOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default);
Directories replication direct methods
public static TReplicationResult[] ReplicateDirectories<TDirectoryItem, TReplicationResult>(this IEnumerable<TDirectoryItem> directoryItems, FileSystemManipulationOptions manipulationOptions, Func<TDirectoryItem, MarkedInfo<DirectoryInfo>> markedInfoSelector, Func<TDirectoryItem, ReplicateOptions> replicationParametersSelector, Func<DirectoryInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, DirectoryInfo?, TReplicationResult> resultSelector, Func<DirectoryInfo, FileSystemTraversalMarker, ReplicateOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static TransferResult<DirectoryInfo>[] ReplicateDirectories(this IEnumerable<MarkedInfo<DirectoryInfo>> directoryItems, FileSystemManipulationOptions manipulationOptions, Func<DirectoryInfo, FileSystemTraversalMarker, ReplicateOptions> replicationParametersSelector, Func<DirectoryInfo, FileSystemTraversalMarker, ReplicateOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static TransferResult<DirectoryInfo>[] ReplicateDirectories(this IEnumerable<DirectoryInfo> directoryItems, FileSystemManipulationOptions manipulationOptions, Func<DirectoryInfo, ReplicateOptions> replicationParametersSelector, Func<DirectoryInfo, ReplicateOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default);
-
CleanupDirectoriesmethods - Directories cleanup methods.Directories cleanup deferred methods
public static IEnumerable<TCleanupResult> CleanupDirectoriesDefer<TDirectoryItem, TCleanupResult>(this IEnumerable<TDirectoryItem> directoryItems, FileSystemManipulationOptions manipulationOptions, Func<TDirectoryItem, MarkedInfo<DirectoryInfo>> markedInfoSelector, Func<DirectoryInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, TCleanupResult> resultSelector, Func<DirectoryInfo, FileSystemTraversalMarker, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<InfoResult<DirectoryInfo>> CleanupDirectoriesDefer(this IEnumerable<MarkedInfo<DirectoryInfo>> directoryItems, FileSystemManipulationOptions manipulationOptions, Func<DirectoryInfo, FileSystemTraversalMarker, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<InfoResult<DirectoryInfo>> CleanupDirectoriesDefer(this IEnumerable<DirectoryInfo> directoryItems, FileSystemManipulationOptions manipulationOptions, Func<DirectoryInfo, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default);
Directories cleanup direct methods
public static TCleanupResult[] CleanupDirectories<TDirectoryItem, TCleanupResult>(this IEnumerable<TDirectoryItem> directoryItems, FileSystemManipulationOptions manipulationOptions, Func<TDirectoryItem, MarkedInfo<DirectoryInfo>> markedInfoSelector, Func<DirectoryInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, TCleanupResult> resultSelector, Func<DirectoryInfo, FileSystemTraversalMarker, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static InfoResult<DirectoryInfo>[] CleanupDirectories(this IEnumerable<MarkedInfo<DirectoryInfo>> directoryItems, FileSystemManipulationOptions manipulationOptions, Func<DirectoryInfo, FileSystemTraversalMarker, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static InfoResult<DirectoryInfo>[] CleanupDirectories(this IEnumerable<DirectoryInfo> directoryItems, FileSystemManipulationOptions manipulationOptions, Func<DirectoryInfo, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default);
-
MoveDirectoriesmethods - Directories move methods.Directories deferred move methods
public static IEnumerable<TTransferResult> MoveDirectoriesDefer<TDirectoryItem, TTransferResult>(this IEnumerable<TDirectoryItem> directoryItems, FileSystemManipulationOptions manipulationOptions, Func<TDirectoryItem, MarkedInfo<DirectoryInfo>> markedInfoSelector, Func<TDirectoryItem, TransferOptions> moveParamsSelector, Func<DirectoryInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, DirectoryInfo, TTransferResult> resultSelector, Func<DirectoryInfo, FileSystemTraversalMarker, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<TransferResult<DirectoryInfo>> MoveDirectoriesDefer(this IEnumerable<MarkedInfo<DirectoryInfo>> directoryItems, FileSystemManipulationOptions manipulationOptions, Func<DirectoryInfo, FileSystemTraversalMarker, TransferOptions> moveParamsSelector, Func<DirectoryInfo, FileSystemTraversalMarker, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<TransferResult<DirectoryInfo>> MoveDirectoriesDefer(this IEnumerable<DirectoryInfo> directoryInfos, FileSystemManipulationOptions manipulationOptions, Func<DirectoryInfo, TransferOptions> moveParamsSelector, Func<DirectoryInfo, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default);
Directories direct move methods
public static TTransferResult[] MoveDirectories<TDirectoryItem, TTransferResult>(this IEnumerable<TDirectoryItem> directoryItems, FileSystemManipulationOptions manipulationOptions, Func<TDirectoryItem, MarkedInfo<DirectoryInfo>> markedInfoSelector, Func<TDirectoryItem, TransferOptions> moveParamsSelector, Func<DirectoryInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, DirectoryInfo?, TTransferResult> resultSelector, Func<DirectoryInfo, FileSystemTraversalMarker, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static TransferResult<DirectoryInfo>[] MoveDirectories(this IEnumerable<MarkedInfo<DirectoryInfo>> directoryItems, FileSystemManipulationOptions manipulationOptions, Func<DirectoryInfo, FileSystemTraversalMarker, TransferOptions> moveParamsSelector, Func<DirectoryInfo, FileSystemTraversalMarker, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static TransferResult<DirectoryInfo>[] MoveDirectories(this IEnumerable<DirectoryInfo> directoryInfos, FileSystemManipulationOptions manipulationOptions, Func<DirectoryInfo, TransferOptions> moveParamsSelector, Func<DirectoryInfo, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default);
-
DeleteDirectoriesmethods - Directories delete methods.Directories deferred delete methods
public static IEnumerable<TDeleteResult> DeleteDirectoriesDefer<TDirectoryItem, TDeleteResult>(this IEnumerable<TDirectoryItem> directoryItems, FileSystemManipulationOptions manipulationOptions, Func<TDirectoryItem, MarkedInfo<DirectoryInfo>> markedInfoSelector, Func<TDirectoryItem, DeleteOptions> deleteParamsSelector, Func<DirectoryInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, TDeleteResult> resultSelector, Func<DirectoryInfo, FileSystemTraversalMarker, DeleteOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<InfoResult<DirectoryInfo>> DeleteDirectoriesDefer(this IEnumerable<MarkedInfo<DirectoryInfo>> directoryItems, FileSystemManipulationOptions manipulationOptions, Func<DirectoryInfo, FileSystemTraversalMarker, DeleteOptions> deleteParamsSelector, Func<DirectoryInfo, FileSystemTraversalMarker, DeleteOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<InfoResult<DirectoryInfo>> DeleteDirectoriesDefer(this IEnumerable<DirectoryInfo> directoryInfos, FileSystemManipulationOptions manipulationOptions, Func<DirectoryInfo, DeleteOptions> deleteParamsSelector, Func<DirectoryInfo, DeleteOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default);
Directories direct delete methods
public static TDeleteResult[] DeleteDirectories<TDirectoryItem, TDeleteResult>(this IEnumerable<TDirectoryItem> directoryItems, FileSystemManipulationOptions manipulationOptions, Func<TDirectoryItem, MarkedInfo<DirectoryInfo>> markedInfoSelector, Func<TDirectoryItem, DeleteOptions> deleteParamsSelector, Func<DirectoryInfo, FileSystemTraversalMarker, FileSystemManipulationMarker, TDeleteResult> resultSelector, Func<DirectoryInfo, FileSystemTraversalMarker, DeleteOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static InfoResult<DirectoryInfo>[] DeleteDirectories(this IEnumerable<MarkedInfo<DirectoryInfo>> directoryItems, FileSystemManipulationOptions manipulationOptions, Func<DirectoryInfo, FileSystemTraversalMarker, DeleteOptions> deleteParamsSelector, Func<DirectoryInfo, FileSystemTraversalMarker, DeleteOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static InfoResult<DirectoryInfo>[] DeleteDirectories(this IEnumerable<DirectoryInfo> directoryInfos, FileSystemManipulationOptions manipulationOptions, Func<DirectoryInfo, DeleteOptions> deleteParamsSelector, Func<DirectoryInfo, DeleteOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default);
-
ManipulateFilesmethods - Files manipulation methods.Files manipulation asynchronus methods
public static IAsyncEnumerable<TManipulationResult> ManipulateFilesAsync<TFileItem, TManipulationParams, TManipulationInterim, TManipulationResult>(this IEnumerable<TFileItem> fileItems, FileSystemManipulationOptions manipulationOptions, Func<TFileItem, FileInfo> fileInfoSelector, Func<TFileItem, TManipulationParams> manipulationParamsSelector, Func<FileInfo, TManipulationParams, TManipulationInterim?> fileHandler, Func<FileInfo, FileSystemManipulationMarker, TManipulationInterim?, TManipulationResult> resultSelector, Func<FileInfo, TManipulationParams?, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IAsyncEnumerable<TManipulationResult> ManipulateFilesAsync<TFileItem, TManipulationParams, TManipulationResult>(this IEnumerable<TFileItem> fileItems, FileSystemManipulationOptions manipulationOptions, Func<TFileItem, FileInfo> fileInfoSelector, Func<TFileItem, TManipulationParams> manipulationParamsSelector, Action<FileInfo, TManipulationParams> fileHandler, Func<FileInfo, FileSystemManipulationMarker, TManipulationResult> resultSelector, Func<FileInfo, TManipulationParams?, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default);
File System objects manipulation deferred methods
public static IEnumerable<TManipulationResult> ManipulateFilesDefer<TFileItem, TManipulationParams, TManipulationInterim, TManipulationResult>(this IEnumerable<TFileItem> fileItems, FileSystemManipulationOptions manipulationOptions, Func<TFileItem, FileInfo> fileInfoSelector, Func<TFileItem, TManipulationParams> manipulationParamsSelector, Func<FileInfo, TManipulationParams, TManipulationInterim?> fileHandler, Func<FileInfo, FileSystemManipulationMarker, TManipulationInterim?, TManipulationResult> resultSelector, Func<FileInfo, TManipulationParams?, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<TManipulationResult> ManipulateFilesDefer<TFileItem, TManipulationParams, TManipulationInterim, TManipulationResult>(this IEnumerable<TFileItem> fileItems, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<TFileItem, FileInfo> fileInfoSelector, Func<TFileItem, TManipulationParams> manipulationParamsSelector, Func<FileInfo, TManipulationParams, TManipulationInterim?> fileHandler, Func<FileInfo, FileSystemManipulationMarker, TManipulationInterim?, TManipulationResult> resultSelector, Func<FileInfo, TManipulationParams?, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<TManipulationResult> ManipulateFilesDefer<TFileItem, TManipulationParams, TManipulationInterim, TManipulationResult>(this IEnumerable<TFileItem> fileItems, FileSystemManipulationOptions manipulationOptions, Func<TFileItem, FileInfo> fileInfoSelector, Func<TFileItem, TManipulationParams> manipulationParamsSelector, Action<FileInfo, TManipulationParams> fileHandler, Func<FileInfo, FileSystemManipulationMarker, TManipulationResult> resultSelector, Func<FileInfo, TManipulationParams?, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<TManipulationResult> ManipulateFilesDefer<TFileItem, TManipulationParams, TManipulationInterim, TManipulationResult>(this IEnumerable<TFileItem> fileItems, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<TFileItem, FileInfo> fileInfoSelector, Func<TFileItem, TManipulationParams> manipulationParamsSelector, Action<FileInfo, TManipulationParams> fileHandler, Func<FileInfo, FileSystemManipulationMarker, TManipulationResult> resultSelector, Func<FileInfo, TManipulationParams?, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default);
File System objects manipulation direct methods
public static TManipulationResult[] ManipulateFiles<TFileItem, TManipulationParams, TManipulationInterim, TManipulationResult>(this IEnumerable<TFileItem> fileItems, FileSystemManipulationOptions manipulationOptions, Func<TFileItem, FileInfo> fileInfoSelector, Func<TFileItem, TManipulationParams> manipulationParamsSelector, Func<FileInfo, TManipulationParams, TManipulationInterim?> fileHandler, Func<FileInfo, FileSystemManipulationMarker, TManipulationInterim?, TManipulationResult> resultSelector, Func<FileInfo, TManipulationParams?, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static TManipulationResult[] ManipulateFiles<TFileItem, TManipulationParams, TManipulationInterim, TManipulationResult>(this IEnumerable<TFileItem> fileItems, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<TFileItem, FileInfo> fileInfoSelector, Func<TFileItem, TManipulationParams> manipulationParamsSelector, Func<FileInfo, TManipulationParams, TManipulationInterim?> fileHandler, Func<FileInfo, FileSystemManipulationMarker, TManipulationInterim?, TManipulationResult> resultSelector, Func<FileInfo, TManipulationParams?, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static TManipulationResult[] ManipulateFiles<TFileItem, TManipulationParams, TManipulationInterim, TManipulationResult>(this IEnumerable<TFileItem> fileItems, FileSystemManipulationOptions manipulationOptions, Func<TFileItem, FileInfo> fileInfoSelector, Func<TFileItem, TManipulationParams> manipulationParamsSelector, Action<FileInfo, TManipulationParams> fileHandler, Func<FileInfo, FileSystemManipulationMarker, TManipulationResult> resultSelector, Func<FileInfo, TManipulationParams?, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static TManipulationResult[] ManipulateFiles<TFileItem, TManipulationParams, TManipulationInterim, TManipulationResult>(this IEnumerable<TFileItem> fileItems, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<TFileItem, FileInfo> fileInfoSelector, Func<TFileItem, TManipulationParams> manipulationParamsSelector, Action<FileInfo, TManipulationParams> fileHandler, Func<FileInfo, FileSystemManipulationMarker, TManipulationResult> resultSelector, Func<FileInfo, TManipulationParams?, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default);
-
CopyFilesmethods - Files copy methods.Files asynchronus copy methods
public static IAsyncEnumerable<TTransferResult> CopyFilesAsync<TFileItem, TTransferResult>(this IEnumerable<TFileItem> fileItems, FileSystemManipulationOptions manipulationOptions, Func<TFileItem, FileInfo> fileInfoSelector, Func<TFileItem, TransferOptions> copyParamsSelector, Func<FileInfo, FileSystemManipulationMarker, FileInfo?, TTransferResult> resultSelector, Func<FileInfo, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IAsyncEnumerable<TransferResult<FileInfo>> CopyFilesAsync(this IEnumerable<FileInfo> fileInfos, FileSystemManipulationOptions manipulationOptions, Func<FileInfo, TransferOptions> copyParamsSelector, Func<FileInfo, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default);
Files deferred copy methods
public static IEnumerable<TTransferResult> CopyFilesDefer<TFileItem, TTransferResult>(this IEnumerable<TFileItem> fileItems, FileSystemManipulationOptions manipulationOptions, Func<TFileItem, FileInfo> fileInfoSelector, Func<TFileItem, TransferOptions> copyParamsSelector, Func<FileInfo, FileSystemManipulationMarker, FileInfo?, TTransferResult> resultSelector, Func<FileInfo, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<TTransferResult> CopyFilesDefer<TFileItem, TTransferResult>(this IEnumerable<TFileItem> fileItems, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<TFileItem, FileInfo> fileInfoSelector, Func<TFileItem, TransferOptions> copyParamsSelector, Func<FileInfo, FileSystemManipulationMarker, FileInfo?, TTransferResult> resultSelector, Func<FileInfo, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<TransferResult<FileInfo>> CopyFilesDefer(this IEnumerable<FileInfo> fileInfos, FileSystemManipulationOptions manipulationOptions, Func<FileInfo, TransferOptions> copyParamsSelector, Func<FileInfo, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<TransferResult<FileInfo>> CopyFilesDefer(this IEnumerable<FileInfo> fileInfos, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<FileInfo, TransferOptions> copyParamsSelector, Func<FileInfo, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default);
Files direct copy methods
public static TTransferResult[] CopyFiles<TFileItem, TTransferResult>(this IEnumerable<TFileItem> fileItems, FileSystemManipulationOptions manipulationOptions, Func<TFileItem, FileInfo> fileInfoSelector, Func<TFileItem, TransferOptions> copyParamsSelector, Func<FileInfo, FileSystemManipulationMarker, FileInfo?, TTransferResult> resultSelector, Func<FileInfo, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static TTransferResult[] CopyFiles<TFileItem, TTransferResult>(this IEnumerable<TFileItem> fileItems, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<TFileItem, FileInfo> fileInfoSelector, Func<TFileItem, TransferOptions> copyParamsSelector, Func<FileInfo, FileSystemManipulationMarker, FileInfo?, TTransferResult> resultSelector, Func<FileInfo, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static TransferResult<FileInfo>[] CopyFiles(this IEnumerable<FileInfo> fileInfos, FileSystemManipulationOptions manipulationOptions, Func<FileInfo, TransferOptions> copyParamsSelector, Func<FileInfo, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static TransferResult<FileInfo>[] CopyFiles(this IEnumerable<FileInfo> fileInfos, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<FileInfo, TransferOptions> copyParamsSelector, Func<FileInfo, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default);
-
MoveFilesmethods - Files move methods.Files asynchronus move methods
public static IAsyncEnumerable<TTransferResult> MoveFilesAsync<TFileItem, TTransferResult>(this IEnumerable<TFileItem> fileItems, FileSystemManipulationOptions manipulationOptions, Func<TFileItem, FileInfo> fileInfoSelector, Func<TFileItem, TransferOptions> moveParamsSelector, Func<FileInfo, FileSystemManipulationMarker, FileInfo?, TTransferResult> resultSelector, Func<FileInfo, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IAsyncEnumerable<TransferResult<FileInfo>> MoveFilesAsync(this IEnumerable<FileInfo> fileInfos, FileSystemManipulationOptions manipulationOptions, Func<FileInfo, TransferOptions> moveParamsSelector, Func<FileInfo, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default);
Files deferred move methods
public static IEnumerable<TTransferResult> MoveFilesDefer<TFileItem, TTransferResult>(this IEnumerable<TFileItem> fileItems, FileSystemManipulationOptions manipulationOptions, Func<TFileItem, FileInfo> fileInfoSelector, Func<TFileItem, TransferOptions> moveParamsSelector, Func<FileInfo, FileSystemManipulationMarker, FileInfo?, TTransferResult> resultSelector, Func<FileInfo, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<TTransferResult> MoveFilesDefer<TFileItem, TTransferResult>(this IEnumerable<TFileItem> fileItems, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<TFileItem, FileInfo> fileInfoSelector, Func<TFileItem, TransferOptions> moveParamsSelector, Func<FileInfo, FileSystemManipulationMarker, FileInfo?, TTransferResult> resultSelector, Func<FileInfo, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<TransferResult<FileInfo>> MoveFilesDefer(this IEnumerable<FileInfo> fileInfos, FileSystemManipulationOptions manipulationOptions, Func<FileInfo, TransferOptions> moveParamsSelector, Func<FileInfo, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<TransferResult<FileInfo>> MoveFilesDefer(this IEnumerable<FileInfo> fileInfos, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<FileInfo, TransferOptions> moveParamsSelector, Func<FileInfo, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default);
Files direct move methods
public static TTransferResult[] MoveFiles<TFileItem, TTransferResult>(this IEnumerable<TFileItem> fileItems, FileSystemManipulationOptions manipulationOptions, Func<TFileItem, FileInfo> fileInfoSelector, Func<TFileItem, TransferOptions> moveParamsSelector, Func<FileInfo, FileSystemManipulationMarker, FileInfo?, TTransferResult> resultSelector, Func<FileInfo, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static TTransferResult[] MoveFiles<TFileItem, TTransferResult>(this IEnumerable<TFileItem> fileItems, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<TFileItem, FileInfo> fileInfoSelector, Func<TFileItem, TransferOptions> moveParamsSelector, Func<FileInfo, FileSystemManipulationMarker, FileInfo?, TTransferResult> resultSelector, Func<FileInfo, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static TransferResult<FileInfo>[] MoveFiles(this IEnumerable<FileInfo> fileInfos, FileSystemManipulationOptions manipulationOptions, Func<FileInfo, TransferOptions> moveParamsSelector, Func<FileInfo, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static TransferResult<FileInfo>[] MoveFiles(this IEnumerable<FileInfo> fileInfos, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<FileInfo, TransferOptions> moveParamsSelector, Func<FileInfo, TransferOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default);
-
ReplaceFilesmethods - Files replace methods.Files asynchronus replace methods
public static IAsyncEnumerable<TReplaceResult> ReplaceFilesAsync<TFileItem, TReplaceResult>(this IEnumerable<TFileItem> fileItems, FileSystemManipulationOptions manipulationOptions, Func<TFileItem, FileInfo> fileInfoSelector, Func<TFileItem, ReplaceOptions> replaceParamsSelector, Func<FileInfo, FileSystemManipulationMarker, FileInfo, FileInfo?, TReplaceResult> resultSelector, Func<FileInfo, ReplaceOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IAsyncEnumerable<ReplaceResult<FileInfo>> ReplaceFilesAsync(this IEnumerable<FileInfo> fileInfos, FileSystemManipulationOptions manipulationOptions, Func<FileInfo, ReplaceOptions> replaceParamsSelector, Func<FileInfo, ReplaceOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default);
Files deferred replace methods
public static IEnumerable<TReplaceResult> ReplaceFilesDefer<TFileItem, TReplaceResult>(this IEnumerable<TFileItem> fileItems, FileSystemManipulationOptions manipulationOptions, Func<TFileItem, FileInfo> fileInfoSelector, Func<TFileItem, ReplaceOptions> replaceParamsSelector, Func<FileInfo, FileSystemManipulationMarker, FileInfo, FileInfo?, TReplaceResult> resultSelector, Func<FileInfo, ReplaceOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<TReplaceResult> ReplaceFilesDefer<TFileItem, TReplaceResult>(this IEnumerable<TFileItem> fileItems, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<TFileItem, FileInfo> fileInfoSelector, Func<TFileItem, ReplaceOptions> replaceParamsSelector, Func<FileInfo, FileSystemManipulationMarker, FileInfo, FileInfo?, TReplaceResult> resultSelector, Func<FileInfo, ReplaceOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<ReplaceResult<FileInfo>> ReplaceFilesDefer(this IEnumerable<FileInfo> fileInfos, FileSystemManipulationOptions manipulationOptions, Func<FileInfo, ReplaceOptions> replaceParamsSelector, Func<FileInfo, ReplaceOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<ReplaceResult<FileInfo>> ReplaceFilesDefer(this IEnumerable<FileInfo> fileInfos, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<FileInfo, ReplaceOptions> replaceParamsSelector, Func<FileInfo, ReplaceOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default);
Files direct replace methods
public static TReplaceResult[] ReplaceFiles<TFileItem, TReplaceResult>(this IEnumerable<TFileItem> fileItems, FileSystemManipulationOptions manipulationOptions, Func<TFileItem, FileInfo> fileInfoSelector, Func<TFileItem, ReplaceOptions> replaceParamsSelector, Func<FileInfo, FileSystemManipulationMarker, FileInfo, FileInfo?, TReplaceResult> resultSelector, Func<FileInfo, ReplaceOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static TReplaceResult[] ReplaceFiles<TFileItem, TReplaceResult>(this IEnumerable<TFileItem> fileItems, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<TFileItem, FileInfo> fileInfoSelector, Func<TFileItem, ReplaceOptions> replaceParamsSelector, Func<FileInfo, FileSystemManipulationMarker, FileInfo, FileInfo?, TReplaceResult> resultSelector, Func<FileInfo, ReplaceOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static ReplaceResult<FileInfo>[] ReplaceFiles(this IEnumerable<FileInfo> fileInfos, FileSystemManipulationOptions manipulationOptions, Func<FileInfo, ReplaceOptions> replaceParamsSelector, Func<FileInfo, ReplaceOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static ReplaceResult<FileInfo>[] ReplaceFiles(this IEnumerable<FileInfo> fileInfos, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<FileInfo, ReplaceOptions> replaceParamsSelector, Func<FileInfo, ReplaceOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default);
-
DeleteFilesmethods - Files delete methods.Files asynchronus delete methods
public static IAsyncEnumerable<TDeleteResult> DeleteFilesAsync<TFileItem, TDeleteResult>(this IEnumerable<TFileItem> fileItems, FileSystemManipulationOptions manipulationOptions, Func<TFileItem, FileInfo> fileInfoSelector, Func<TFileItem, DeleteOptions> deleteParamsSelector, Func<FileInfo, FileSystemManipulationMarker, TDeleteResult> resultSelector, Func<FileInfo, DeleteOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IAsyncEnumerable<InfoResult<FileInfo>> DeleteFilesAsync(this IEnumerable<FileInfo> fileInfos, FileSystemManipulationOptions manipulationOptions, Func<FileInfo, DeleteOptions> deleteParamsSelector, Func<FileInfo, DeleteOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default);
Files deferred delete methods
public static IEnumerable<TFileResult> DeleteFilesDefer<TFileItem, TFileResult>(this IEnumerable<TFileItem> fileItems, FileSystemManipulationOptions manipulationOptions, Func<TFileItem, FileInfo> fileInfoSelector, Func<TFileItem, DeleteOptions> deleteParamsSelector, Func<FileInfo, FileSystemManipulationMarker, TFileResult> resultSelector, Func<FileInfo, DeleteOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<TFileResult> DeleteFilesDefer<TFileItem, TFileResult>(this IEnumerable<TFileItem> fileItems, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<TFileItem, FileInfo> fileInfoSelector, Func<TFileItem, DeleteOptions> deleteParamsSelector, Func<FileInfo, FileSystemManipulationMarker, TFileResult> resultSelector, Func<FileInfo, DeleteOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<InfoResult<FileInfo>> DeleteFilesDefer(this IEnumerable<FileInfo> fileInfos, FileSystemManipulationOptions manipulationOptions, Func<FileInfo, DeleteOptions> deleteParamsSelector, Func<FileInfo, DeleteOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static IEnumerable<InfoResult<FileInfo>> DeleteFilesDefer(this IEnumerable<FileInfo> fileInfos, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<FileInfo, DeleteOptions> deleteParamsSelector, Func<FileInfo, DeleteOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default);
Files direct delete methods
public static TFileResult[] DeleteFiles<TFileItem, TFileResult>(this IEnumerable<TFileItem> fileItems, FileSystemManipulationOptions manipulationOptions, Func<TFileItem, FileInfo> fileInfoSelector, Func<TFileItem, DeleteOptions> deleteParamsSelector, Func<FileInfo, FileSystemManipulationMarker, TFileResult> resultSelector, Func<FileInfo, DeleteOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static TFileResult[] DeleteFiles<TFileItem, TFileResult>(this IEnumerable<TFileItem> fileItems, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<TFileItem, FileInfo> fileInfoSelector, Func<TFileItem, DeleteOptions> deleteParamsSelector, Func<FileInfo, FileSystemManipulationMarker, TFileResult> resultSelector, Func<FileInfo, DeleteOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static InfoResult<FileInfo>[] DeleteFiles(this IEnumerable<FileInfo> fileInfos, FileSystemManipulationOptions manipulationOptions, Func<FileInfo, DeleteOptions> deleteParamsSelector, Func<FileInfo, DeleteOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default); public static InfoResult<FileInfo>[] DeleteFiles(this IEnumerable<FileInfo> fileInfos, FileSystemManipulationOptions manipulationOptions, int maxConcurrents, Func<FileInfo, DeleteOptions> deleteParamsSelector, Func<FileInfo, DeleteOptions, Exception, bool>? errorHandler = null, CancellationToken cancellationToken = default);
See the class FileSystemExamples in PowerLib.Examples project in the repository PowerLib.v2.