private TreeNode InsertFsi(List<String> summary, IFileSystemItem fsi, Boolean insertSubfolders, Boolean isRoot) { // рисунок нода Int32 imageIndex; if (isRoot) imageIndex = 0; else imageIndex = fsi.ItemType == FileSystemItemType.Directory ? 1 : 2; // создаем нод TreeNode aNode = new TreeNode(fsi.ToString()); aNode.ImageIndex = imageIndex; aNode.SelectedImageIndex = imageIndex; // данные нода aNode.Tag = fsi; // в отчет if (fsi.ItemType == FileSystemItemType.File) summary.Add(String.Format("{0}, {1}", fsi.Name, fsi.Version)); // добавляем вложенные элементы foreach (IFileSystemItem subFsi in fsi.SubItems) { if (subFsi.ItemType == FileSystemItemType.File) aNode.Nodes.Add(InsertFsi(summary, subFsi, false, false)); else { if (insertSubfolders) aNode.Nodes.Add(InsertFsi(summary, subFsi, insertSubfolders, false)); } } // возвращаем нод return aNode; }
public override string ToString() => _fileSystemItem.ToString();