SS.Ynote.Classic.Core.Project.ProjectPanel.CreateDirectoryNode C# (CSharp) Method

CreateDirectoryNode() private static method

private static CreateDirectoryNode ( DirectoryInfo directoryInfo, string excludedir, string excludefile ) : ExTreeNode
directoryInfo DirectoryInfo
excludedir string
excludefile string
return ExTreeNode
        private static ExTreeNode CreateDirectoryNode(DirectoryInfo directoryInfo, string[] excludedir,
            string[] excludefile)
        {
            var directoryNode = new ExTreeNode(directoryInfo.Name, directoryInfo.FullName, ProjectNodeType.Folder);
            foreach (var directory in directoryInfo.GetDirectories())
            {
                if (excludedir == null)
                    directoryNode.Nodes.Add(CreateDirectoryNode(directory, excludedir, excludefile));
                else
                {
                    if (!excludedir.Contains(directory.Name))
                        directoryNode.Nodes.Add(CreateDirectoryNode(directory, excludedir, excludefile));
                }
            }
            foreach (var file in directoryInfo.GetFiles())
            {
                if (excludefile == null)
                    directoryNode.Nodes.Add(new ExTreeNode(file.Name, file.FullName, ProjectNodeType.File));
                else
                {
                    if (!excludefile.Contains(Path.GetExtension(file.FullName)))
                        directoryNode.Nodes.Add(new ExTreeNode(file.Name, file.FullName, ProjectNodeType.File));
                }
            }
            return directoryNode;
        }