public virtual FileInfo[] GetFiles(DirectoryInfo directoryInfo, InputParams inputParams, ref SyncResults results)
{
// get all files
List<FileInfo> fileList = new List<FileInfo>(directoryInfo.GetFiles());
// do we need to do any filtering?
bool needFilter = (inputParams != null) && (inputParams.AreSourceFilesFiltered);
if (needFilter)
{
for (int i = 0; i < fileList.Count; i++)
{
FileInfo fileInfo = fileList[i];
// filter out any files based on hiddenness and exclude/include filespecs
if ((inputParams.ExcludeHidden && ((fileInfo.Attributes & FileAttributes.Hidden) > 0)) ||
ShouldExclude(inputParams.ExcludeFiles, inputParams.IncludeFiles, fileInfo.Name))
{
fileList.RemoveAt(i);
results.FilesIgnored++;
i--;
}
}
}
return fileList.ToArray();
}