C# 如何修复System.StackOverflow异常?

C# 如何修复System.StackOverflow异常?,c#,class,exception,C#,Class,Exception,我使用了两个类,我需要发送/接收方法和变量。但是当我创建这个类的实例时,它会给我一个System.StackOverflowException 如何解决这个问题 这是我的代码: class Setup1 { Setup2 set2 = new Setup(); int a = 5; public int myMethod(); { set2.b = a + 10; return set2.b; } } class Setup2 {

我使用了两个类,我需要发送/接收方法和变量。但是当我创建这个类的实例时,它会给我一个
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()
的构造函数,依此类推。内存耗尽,堆栈溢出。

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

你使用调试器了吗?设置断点?单步完成你的代码?堆栈溢出Eception通常意味着没有结束条件的递归调用。您的代码中有一些输入错误(或者代码不完整),它将无法编译<代码>设置
=>
设置2
等等。我应该做什么?因为我需要为每个类创建类对象,因为我需要使用每个类的方法和变量来考虑您的总体设计。不要无缘无故地在另一个构造函数中调用一个构造函数。您可以有一个中心位置,在那里构建所需的所有类。