尝试初始化变量c#时出现堆栈溢出错误

Stack overflow error when trying to inicialize variable c#

每当我打开 TradeForm 菜单时,我都会在 Conditions con = new Conditions();

行中收到此错误
System.WhosebugException

这是相关的代码


public partial class TradeForm : Form
    {
        Conditions con = new Conditions();
        


        public TradeForm()
        {
            InitializeComponent(); 
            
        }

        
        public void button1_Click(object sender, EventArgs e)
        {
            if(con.foo >= 1)
            {
                lst1.Text = "text";
                res.Luxuries++;
                button1.Hide();
            }
      }

    }

并在另一个 class 命名的属性中

 public class Conditions : TradeForm
    {
        public int foo = 0;
    }
  1. 由于 Conditions 继承自 TradeForm,每次创建新的 Conditions 时,都会创建一个新的 TradeForm。

  2. 每当您创建 TradeForm 时,您都会根据抛出异常的行创建一个新的 Conditions 对象。

  3. 创建新条件后,您返回到 1。

这会无限循环,因此会出现 Whosebug 异常。