private static IEnumerable <IconGenerationResult> GetAllCurrentIconsFromPaths(DirectoryInfo current, IconGenerationFolder[] paths) => from path in paths from extension in IconExtensions from kvp in IconNameTemplates let names = kvp.Value.Generate(extension, current.Name, path.Path.Directory.Name) where names.Valid from name in names let icon = IconReferenceCache.Get(path.Path.Directory.FullName, name) select new IconGenerationResult(path, kvp.Key, icon);
void ResetCachesImpl() { FolderInfoCache.Clear(); FolderIconCache.Clear(); IconReferenceCache.Clear(); }