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;
}