Я строю пользовательскую структуру данных для хранения TreeView, чтобы я мог ее сериализовать.Этот бит не имеет значения и является фоновым, но я помещаю его здесь.
У меня есть класс CustomNode, и древовидное представление будет храниться в List<CustomNode>
:
private class CustomNode
{
public CustomNode()
{}
public CustomNode (string name)
{
NodeName = name;
}
public string NodeName { get; set; }
public int Level { get; set; }
public int Index { get; set; }
public CustomNode parent;
public List<CustomNode> children;
}
Этоэто актуальная проблема, которую я пытаюсь решить.В какой-то момент в моем коде я хочу найти родителя определенного CustomNode, поэтому я делаю:
CustomNode customNode = new CustomNode();
//initialise properties of customNode (below)
.
.
.
CustomNode customNodeParent = new CustomNode();
customNodeParent = listOfCustomNodes.Find(_customNode => (_customNode.Index == node.Index && _customNode.Level == node.Level));
customNode.Index = customNodeParent.children.Count;
В последней строке выдается ссылка на объект, не установленная для экземпляра объекта. исключение.Я не понимаю, почему это происходит.
РЕДАКТИРОВАТЬ: Есть еще одна проблема.В тот момент, когда я звоню:
customNode.Index = customNodeParent.children.Count;
customNodeParent имеет значение null.Я вижу, что происходит.Это не найти узел.Нужно это исправить.