public IEnumerable <FileSystemInfo> EnumerateFileSystemInfos(string searchPattern) { if (Common.IsRunningOnMono()) { return(SysDirectoryInfo.EnumerateFileSystemInfos(searchPattern) .Select(e => System.IO.Directory.Exists(e.FullName) ? (FileSystemInfo) new DirectoryInfo(e.FullName) : (FileSystemInfo) new FileInfo(e.FullName))); } return(Directory.EnumerateFileSystemEntries(FullPath, searchPattern, true, true, System.IO.SearchOption.TopDirectoryOnly) .Select(e => Directory.Exists(e) ? (FileSystemInfo) new DirectoryInfo(e) : (FileSystemInfo) new FileInfo(e))); }