public DirectoryEntryCollection GetContent() { List <DirectoryEntry> entries = new List <DirectoryEntry>(); if (!Directory.Exists(DirectoryPath)) { return(new DirectoryEntryCollection("")); } var dirInfo = new DirectoryInfo(DirectoryPath); foreach (FileSystemInfo entry in dirInfo.GetFileSystemInfos("*", SearchOption.AllDirectories)) { int time = (int)(entry.LastWriteTimeUtc - (new DateTime(2010, 1, 1))).TotalDays; bool isDirectory = entry is DirectoryInfo; string content; if (isDirectory) { content = ""; } else { content = File.ReadAllText(entry.FullName); } string fileName = entry.FullName.Substring((dirInfo.FullName + "/").Length); if (ExcludedItems == null || !ExcludedItems.IsMatch(fileName)) { entries.Add(new DirectoryEntry(fileName, isDirectory, time, content)); } } DirectoryEntryCollection entryCollection = new DirectoryEntryCollection(entries.ToArray()); return(entryCollection); }