关于递归调用出错

枫叶丿飘 2010-09-15 09:53:00
递归调用的时候出现一个多次调用的异常,我加了判断 还是哪个异常

public void DataBindtvwTree(TreeNode node,int id)
{
try
{
IList<Test> list = testManager.GetTest3ById(id);
TreeNode childNode = new TreeNode();
foreach (Test test in list)
{
childNode.Name = test.Name;
childNode.Tag = test.Id;
if (id == 0)
{
this.tvwTree.Nodes.Add(childNode);//就这里 出现异常
}
else
{
node.Nodes.Add(childNode);
}

}
if (id < 2)
{
DataBindtvwTree(childNode, id + 1);
}
}
catch (Exception e)
{
throw e;
}

}
...全文
155 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
枫叶丿飘 2010-09-15
  • 打赏
  • 举报
回复
if (id < 2)
{
DataBindtvwTree(childNode, id + 1);
}
这里面的参数就找不到了
wuyq11 2010-09-15
  • 打赏
  • 举报
回复
foreach (Test test in list)
{
TreeNode childNode = new TreeNode();

}
枫叶丿飘 2010-09-15
  • 打赏
  • 举报
回复
在外面创建 里面给地址 下面递归的时候程序不过
说使用没有赋值的 变量。。。。。
K_mvp 2010-09-15
  • 打赏
  • 举报
回复
我遇到过一回,当时命名不规范,没注意,自己调用自己了
枫叶丿飘 2010-09-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wanglonghai120 的回复:]

引用楼主 wanglonghai120 的回复:
递归调用的时候出现一个多次调用的异常,我加了判断 还是哪个异常

public void DataBindtvwTree(TreeNode node,int id)
{
try
{
IList<Test> list = testManager.GetTest3ById(id);
……



不能在多处添加或插入项“”。必须……
[/Quote]
那我下面的那个递归里传的参数怎么办?
枫叶丿飘 2010-09-15
  • 打赏
  • 举报
回复
[Quote=引用楼主 wanglonghai120 的回复:]
递归调用的时候出现一个多次调用的异常,我加了判断 还是哪个异常

public void DataBindtvwTree(TreeNode node,int id)
{
try
{
IList<Test> list = testManager.GetTest3ById(id);
……
[/Quote]


不能在多处添加或插入项“”。必须首先将其从当前位置移除或将其克隆。
参数名: node

这是异常说的。
kbcsy 2010-09-15
  • 打赏
  • 举报
回复
childNode 在for循环里创建行吗
纯唇Yu弄 2010-09-15
  • 打赏
  • 举报
回复
啥异常

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧