Exemple #1
0
        public static void RemoveAllFileNodesExcept(DirNode rootNode, HashSet <FileNode> except)
        {
            List <FileNode> nodesToRemove = new List <FileNode>();

            foreach (FileNode fileNode in rootNode.EnumerateFileNodesRecursively())
            {
                if (!except.Contains(fileNode))
                {
                    nodesToRemove.Add(fileNode);
                }
            }

            foreach (FileNode nodeToRemove in nodesToRemove)
            {
                nodeToRemove.Parent.DeleteFileNode(nodeToRemove.Name);
            }
        }