2
Woohoo!我得到一个关于堆栈溢出的问题...在stackoverflow :)C#填充TreeView递归堆栈溢出
所以它可能只是它是星期五,我的大脑已经炸了,但我想写一个递归填充给定TreeView的类使用从TreeNode和简单接口继承的通用类型的对象。
出于某种原因,我在尝试填充节点时遇到了一个stackoverflow异常。
我简单的接口:
public interface ITreeNode
{
int ItemID { get; set; }
int ParentID { get; set; }
}
递归码:
public void SetNodes(int rootId)
{
foreach (T root in _nodeList.Where(i => i.ParentID == rootId))
{
_tree.Nodes.Add(root);
addBrowserItems(root);
}
}
private void addBrowserItems(T parentNode)
{
foreach (T child in _nodeList.Where(i => i.ParentID == parentNode.ItemID))
{
parentNode.Nodes.Add(child);
addBrowserItems(child);
}
}
你的树有多深? – Aliostad
@Aliostad - 让我想起了一首评论的歌曲。 – ThePower
什么歌?我可能知道.... – Aliostad