예제 #1
0
 public static string[] GetDirectories(string path)
 {
     if (_provider == null)
     {
         return(Directory.GetDirectories(path));
     }
     return(_provider.GetDirectories(path));
 }
예제 #2
0
        /// <summary>
        /// Rebuilds the directory tree
        /// </summary>
        /// <param name="path">
        /// The path.
        /// </param>
        /// <returns>
        /// The <see cref="TreeNode"/>.
        /// </returns>
        public TreeNode[] UpdateDirectoryTree(IDirectoryProvider path = null)
        {
            if (path == null)
            {
                path = _directoryProvider;
            }

            List<TreeNode> nodeList = new List<TreeNode>();

            var nodeName = new StringBuilder();
            nodeName.Append(path.Name);
            nodeName.AppendFormat(" ({0})", path.EnumerateFiles().Count());
            var node = new TreeNode(nodeName.ToString()) { Tag = path.FullName };

            foreach (var directory in path.GetDirectories())
            {
                if (!directory.Name.StartsWith("."))
                {
                    var childNodes = UpdateDirectoryTree(directory);
                    node.Nodes.AddRange(childNodes);
                }
            }

            nodeList.Add(node);
            TreeNode[] nodeArr = nodeList.ToArray();

            return nodeArr;
        }
예제 #3
0
        /// <summary>
        /// Rebuilds the directory tree
        /// </summary>
        /// <param name="path">
        /// The path.
        /// </param>
        /// <returns>
        /// The <see cref="TreeNode"/>.
        /// </returns>
        public TreeNode[] UpdateDirectoryTree(IDirectoryProvider path = null)
        {
            if (path == null)
            {
                path = _directoryProvider;
            }

            List<TreeNode> nodeList = new List<TreeNode>();

            var nodeName = new StringBuilder();
            nodeName.Append(path.Name);
            nodeName.AppendFormat(" ({0})", path.EnumerateFiles().Count());
            var node = new TreeNode(nodeName.ToString()) { Tag = path.FullName };

            foreach (var directory in path.GetDirectories())
            {
                if (!directory.Name.StartsWith("."))
                {
                    var childNodes = UpdateDirectoryTree(directory);
                    node.Nodes.AddRange(childNodes);
                }
            }

            nodeList.Add(node);
            TreeNode[] nodeArr = nodeList.ToArray();

            return nodeArr;
        }