/// <summary> /// Caches the subdirectories of this directories /// </summary> public void CacheDirectories() { if (Directories == null) { Dictionary <string, DirectoryItem> NewDirectories = new Dictionary <string, DirectoryItem>(DirectoryReference.Comparer); if (Info.Exists) { foreach (DirectoryInfo SubDirectoryInfo in Info.EnumerateDirectories()) { if (SubDirectoryInfo.Name.Length == 1 && SubDirectoryInfo.Name[0] == '.') { continue; } else if (SubDirectoryInfo.Name.Length == 2 && SubDirectoryInfo.Name[0] == '.' && SubDirectoryInfo.Name[1] == '.') { continue; } else { NewDirectories[SubDirectoryInfo.Name] = DirectoryItem.GetItemByDirectoryInfo(SubDirectoryInfo); } } } Directories = NewDirectories; } }