コード例 #1
0
        private DocTreeNode BuildTree(DirectoryInfo directory)
        {
            if (null == directory)
            {
                return(null);
            }
            DocTreeNode root = new DocTreeNode(config.GetDocPath(), directory);

            foreach (var file in directory.GetFileSystemInfos().OrderBy(i => i.Name, new FileNameComparer()))
            {
                if (file is FileInfo)
                {
                    root.AppendNode(new DocTreeNode(config.GetDocPath(), file));
                }
                else
                {
                    var dnode = BuildTree((DirectoryInfo)file);
                    if (null != dnode)
                    {
                        root.AppendNode(dnode);
                    }
                }
            }
            return(root);
        }