我使用了 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()
的构造函数,依此类推。您的内存耗尽,堆栈溢出。
似乎您有循环构造函数调用,导致堆栈溢出异常。