每当我打开 TradeForm 菜单时,我都会在行上收到此错误,内容为 Conditions con = new Conditions();
System.StackOverflowException
Run Code Online (Sandbox Code Playgroud)
这是相关的代码
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();
}
}
}
Run Code Online (Sandbox Code Playgroud)
在另一个名为 Properties 的类中
public class Conditions : TradeForm
{
public int foo = 0;
}
Run Code Online (Sandbox Code Playgroud)
由于 Conditions 继承自 TradeForm,因此每次创建新的 Conditions 时,您都会创建一个新的 TradeForm。
每当您创建 TradeForm 时,您都会根据抛出异常的行创建一个新的 Conditions 对象。
当您创建新条件时,您将返回到 1。
这会无限循环,因此会出现 StackOverflow 异常。
| 归档时间: |
|
| 查看次数: |
49 次 |
| 最近记录: |