stackoverflow的问题
我写一个定制的menu控件,控件里用了topmenu,submenu,menuitem这几个对象(类),每个类都代表一个层次的菜单。但是这里有一个stackoverflow的问题,总是得不到解决,希望那位大虾指点一下。部分程序如下:
Class menu
{
//前面的没有问题,就不贴出来了
public void AddTopmenu(Topmenu tm)
{
private ArrayList topmenus=new ArrayList();
if (tm !=null)
this.topmenus.Add(tm);
}
}
Class Topmenu
{
private ArrayList submenus=new ArrayList();
public void AddSubmenu(Submenu sm)
{
this.submenus.Add(sm);
}
}
Class Submenu
{
//与这里无关,就省略了
}
结果在新建了一个webapplication之后,把这个控件放如form中后,我在page-load事件中写入下面的代码:
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
Topmenu tm=new Topmenu("sina1","sina");
Menu1.AddTopmenu(tm);
Submenu sm=new Submenu("xix","hehe");
tm.AddSubmenu(sm); //这一行就有问题了,出现stackoverflow的错误
}
这里我大致说一下我的menu的实现原理:
在每一个上层菜单对象里放入一个arraylist的成员来存储下一级的菜单,便于在输出的时候可以通过这个成员来输出下一级的菜单,但是这里就出现了这个overflow的问题,请大峡指点一二,谢谢了,如果方便,请留下您的联系方式,qq或者email