Готовая лабораторная работа 1

This commit is contained in:
nikbel2004@outlook.com 2024-10-21 02:38:42 +04:00
parent 9b7acfad63
commit 96353d7682

View File

@ -121,15 +121,8 @@ namespace MyCustomComponents
throw new ArgumentNullException("Added object is null"); throw new ArgumentNullException("Added object is null");
} }
// Ищем индекс свойства в иерархии // Получаем первый узел в дереве
int index = hierarchy.IndexOf(propertyName); TreeNode currentNode = null;
if (index == -1)
{
throw new PropertyNullException("Property not found in hierarchy");
}
// Получаем первый узел в дереве, либо нулл, если узлов нет
TreeNode currentNode = treeView.SelectedNode;
// Проходимся по иерархии // Проходимся по иерархии
foreach (var property in hierarchy) foreach (var property in hierarchy)
@ -140,13 +133,13 @@ namespace MyCustomComponents
if (currentNode == null) if (currentNode == null)
{ {
currentNode = treeView.Nodes.Cast<TreeNode>() currentNode = treeView.Nodes.Cast<TreeNode>().FirstOrDefault(n => n.Text == value)
.FirstOrDefault(n => n.Text == value) ?? treeView.Nodes.Add(value); ?? treeView.Nodes.Add(value);
} }
else else
{ {
var childNode = currentNode.Nodes.Cast<TreeNode>().FirstOrDefault(n => n.Text == value); var childNode = currentNode.Nodes.Cast<TreeNode>().FirstOrDefault(n => n.Text == value);
// Проверка нужно ли нам создавать дочерний узел // Проверка нужно ли нам создавать дочерний узел
if (childNode == null || createNewBranch) if (childNode == null || createNewBranch)
{ {