如何修复系统堆栈溢出异常



我使用了 2 个类,我需要发送/接收方法和变量。但是当我创建此类的实例时,它给了我一个System.StackOverflowException

如何解决这个问题?

这是我的代码:

class Setup1
{
   Setup2 set2 = new Setup();
   int a = 5;
   public int myMethod();
   {
      set2.b =  a + 10;
      return set2.b;
   }
}
class Setup2
{
    Setup1 set1 = new Setup();
    public int b = 0;
    void  Show()
    {
        MessageBox.Show(set1.myMethod());
    }
}

你有无限递归。

Setup2() 的构造函数中,您调用 Setup1() 的构造函数。在那里,您可以无限地调用Setup2()的构造函数,依此类推。您的内存耗尽,堆栈溢出。

似乎您有循环构造函数调用,导致堆栈溢出异常。

最新更新