public async Task LoadImagesAsync(string sourceDirectory, IProgress<string> progress)
{
await Task.Factory.StartNew(() =>
{
if (sourceDirectory == null)
{
return;
}
var images = Directory.EnumerateFiles(sourceDirectory, "*.*")
.Where(image => _supportedImageExtensions.Any(ext =>
{
string extension = Path.GetExtension(image);
return extension != null && ext == extension.ToLower();
}));
foreach (string image in images)
{
progress.Report(image);
}
});
}