public List <string> ListFiles() { List <string> result = new List <string>(); foreach (string searchPath in SearchPaths.Split(';')) { string directory; SearchOption option; if (Path.GetFileName(searchPath) == "**") { directory = Path.GetDirectoryName(searchPath); option = SearchOption.AllDirectories; } else { directory = searchPath; option = SearchOption.TopDirectoryOnly; } foreach (string fileMask in FileMasks.Split(';')) { foreach (string fileName in Directory.GetFiles(directory, fileMask, option)) { string extension = Path.GetExtension(fileName); if (!String.Equals(extension, ".dproj", StringComparison.InvariantCultureIgnoreCase)) { result.Add(fileName); } } } } return(result); }