BlinkSyncLib.Sync.GetDirectories C# (CSharp) 메소드

GetDirectories() 공개 메소드

Gets list of subdirectories of specified directory, optionally filtered by specified input parameters
public GetDirectories ( DirectoryInfo directoryInfo, InputParams inputParams, SyncResults &results ) : System.IO.DirectoryInfo[]
directoryInfo System.IO.DirectoryInfo
inputParams InputParams
results SyncResults
리턴 System.IO.DirectoryInfo[]
        public virtual DirectoryInfo[] GetDirectories(DirectoryInfo directoryInfo, InputParams inputParams, ref SyncResults results)
        {
            // get all directories
            List<DirectoryInfo> directoryList = new List<DirectoryInfo>(directoryInfo.GetDirectories());

            // do we need to do any filtering?
            bool needFilter = (inputParams != null) && (inputParams.AreSourceFilesFiltered);
            if (needFilter)
            {
                for (int i = 0; i < directoryList.Count; i++)
                {
                    DirectoryInfo subdirInfo = directoryList[i];

                    // filter out directories based on hiddenness and exclude/include filespecs
                    if ((inputParams.ExcludeHidden && ((subdirInfo.Attributes & FileAttributes.Hidden) > 0)) ||
                         ShouldExclude(inputParams.ExcludeDirs, inputParams.IncludeDirs, subdirInfo.Name))
                    {
                        directoryList.RemoveAt(i);
                        results.DirectoriesIgnored++;
                        i--;
                    }
                }
            }

            return directoryList.ToArray();
        }