BuildServerUploaderConsole.Processes.ZipTemplates.RemoveBinRecursiveFrom C# (CSharp) Метод

RemoveBinRecursiveFrom() приватный Метод

private RemoveBinRecursiveFrom ( string directories ) : void
directories string
Результат void
        private void RemoveBinRecursiveFrom(string directories)
        {
            var subdirectoriesAsArray = System.IO.Directory.GetDirectories(directories);

            List<string> directoriesToProcess = new List<string>();

            bool wasAnythingDeleted = false;

            foreach (var directory in subdirectoriesAsArray)
            {
                string strippedSubDirectory = FileManager.RemovePath(directory);

                if (strippedSubDirectory.ToLowerInvariant() == "bin" ||
                    strippedSubDirectory.ToLowerInvariant() == "obj")
                {
                    // Use FileManager to delete the directory - It will do it recursively:
                    //System.IO.Directory.Delete(directory);
                    FileManager.DeleteDirectory(directory);
                    wasAnythingDeleted = true;

                }
                else
                {
                    directoriesToProcess.Add(directory);
                }
            }

            // let's go deeper if we haven't found bin/obj yet
            if (!wasAnythingDeleted)
            {
                foreach (var directory in directoriesToProcess)
                {
                    RemoveBinRecursiveFrom(directory);
                }
            }
        }
    }