InternalGetFileSystemInfos() private method

private InternalGetFileSystemInfos ( String searchPattern, SearchOption searchOption ) : System.IO.FileSystemInfo[]
searchPattern String
searchOption SearchOption
return System.IO.FileSystemInfo[]
Esempio n. 1
0
        void InternalGetFileSystemInfos(string searchPattern, SearchOption searchOption, List <FileSystemInfo> infos)
        {
            // UnauthorizedAccessExceptions might happen here and break everything for SearchOption.AllDirectories
            string [] dirs  = Directory.GetDirectories(FullPath, searchPattern);
            string [] files = Directory.GetFiles(FullPath, searchPattern);

            Array.ForEach <string> (dirs, (dir) => { infos.Add(new DirectoryInfo(dir)); });
            Array.ForEach <string> (files, (file) => { infos.Add(new FileInfo(file)); });
            if (dirs.Length == 0 || searchOption == SearchOption.TopDirectoryOnly)
            {
                return;
            }

            foreach (string dir in dirs)
            {
                DirectoryInfo dinfo = new DirectoryInfo(dir);
                dinfo.InternalGetFileSystemInfos(searchPattern, searchOption, infos);
            }
        }
Esempio n. 2
0
		void InternalGetFileSystemInfos (string searchPattern, SearchOption searchOption, List<FileSystemInfo> infos)
		{
			// UnauthorizedAccessExceptions might happen here and break everything for SearchOption.AllDirectories
			string [] dirs = Directory.GetDirectories (FullPath, searchPattern);
			string [] files = Directory.GetFiles (FullPath, searchPattern);

			Array.ForEach<string> (dirs, (dir) => { infos.Add (new DirectoryInfo (dir)); });
			Array.ForEach<string> (files, (file) => { infos.Add (new FileInfo (file)); });
			if (dirs.Length == 0 || searchOption == SearchOption.TopDirectoryOnly)
				return;

			foreach (string dir in dirs) {
				DirectoryInfo dinfo = new DirectoryInfo (dir);
				dinfo.InternalGetFileSystemInfos (searchPattern, searchOption, infos);
			}
		}