楼上说的对,还没开始实例化,没到死递归的地步,
你要达到这种效果,在构造函数里 new m_ChildWindow 的元素,这样OK了。

解决方案 »

  1.   

    有道理,其实现在new的是数组对象,没有new数组元素对象,也就是没有new window对象,所以不会递归的
      

  2.   

    但是我在想,如下代码是不是递归了呢?
    using System; 
    Class Window 

      Public Window m_ChildWindow = new Window;  //子窗口 
      Public bool IsHaveChild =false; //是否拥有子窗口 


    . } 
      

  3.   

    using System; 
    Class Window 

      Public Window m_ChildWindow = new Window;  //子窗口 
      Public bool IsHaveChild =false; //是否拥有子窗口 


    . } 
      

  4.   

    谢谢楼上的兄弟,但是好像没有说很明白呀,当我声明一个Window实例时是否会一直递归呀,当然放到构造函数里是不会递归,像上面的代码若声明一个Window实例是会递归的吧
      

  5.   

    比如我声明如下变量:
    Window MyWindow;MyWindow中应该包含m_ChildWindow数组这个数据成员
    MyWindow.m_ChildWindow[0]中也应该包含m_ChildWindow数组这个数据成员
    MyWindow.m_ChildWindow[1]中也应该包含m_ChildWindow数组这个数据成员
    MyWindow.m_ChildWindow[2]中也应该包含m_ChildWindow数组这个数据成员
    MyWindow.m_ChildWindow[3]中也应该包含m_ChildWindow数组这个数据成员
    MyWindow.m_ChildWindow[4]中也应该包含m_ChildWindow数组这个数据成员
    MyWindow.m_ChildWindow[0]中也应该包含m_ChildWindow数组这个数据成员吧
    MyWindow.m_ChildWindow[0].m_ChildWindow[0]
    MyWindow.m_ChildWindow[0].m_ChildWindow[1]
    MyWindow.m_ChildWindow[0].m_ChildWindow[2]
    MyWindow.m_ChildWindow[0].m_ChildWindow[3]
    MyWindow.m_ChildWindow[0].m_ChildWindow[4]
    MyWindow.m_ChildWindow[1]中也应该包含m_ChildWindow数组这个数据成员吧
    MyWindow.m_ChildWindow[1].m_ChildWindow[0]
    MyWindow.m_ChildWindow[1].m_ChildWindow[1]
    MyWindow.m_ChildWindow[1].m_ChildWindow[2]
    MyWindow.m_ChildWindow[1].m_ChildWindow[3]
    MyWindow.m_ChildWindow[1].m_ChildWindow[4]....
    这样下去不是一直递归下去拉吗