FilterEnumerable
FilterEnumerable.FileProvider(fileProvider, globPattern) is re-enumerable file tree scanner that searches for specific glob pattern
IFileProvider fileProvider = new PhysicalFileProvider(Directory.GetCurrentDirectory());
string filterPath = "**/*.txt";
IEnumerable<(string Path, DateTimeOffset LastModified)> filter = new FilterEnumerable.FileProvider(fileProvider, filterPath);
foreach ((string Path, DateTimeOffset LastModified) in filter) WriteLine(Path);
FilterEnumerable.FileSystem(fileSystem, globPattern) filters IFileSystem.
IFileSystem fileSystem = new FileSystem(Directory.GetCurrentDirectory());
string filterPath = "**/*.txt";
IEnumerable<(string Path, DateTimeOffset LastModified)> filter = new FilterEnumerable.FileSystem(fileSystem, filterPath);
foreach ((string Path, DateTimeOffset LastModified) in filter) WriteLine(Path);
Full Example
Full example
using Avalanche.FileSystem;
using Microsoft.Extensions.FileProviders;
using static System.Console;
public class filterenumerable
{
public static void Run()
{
{
// <01>
IFileProvider fileProvider = new PhysicalFileProvider(Directory.GetCurrentDirectory());
string filterPath = "**/*.txt";
IEnumerable<(string Path, DateTimeOffset LastModified)> filter = new FilterEnumerable.FileProvider(fileProvider, filterPath);
foreach ((string Path, DateTimeOffset LastModified) in filter) WriteLine(Path);
// </01>
}
{
// <02>
IFileSystem fileSystem = new FileSystem(Directory.GetCurrentDirectory());
string filterPath = "**/*.txt";
IEnumerable<(string Path, DateTimeOffset LastModified)> filter = new FilterEnumerable.FileSystem(fileSystem, filterPath);
foreach ((string Path, DateTimeOffset LastModified) in filter) WriteLine(Path);
// </02>
}
}
}