无法计算表达式,因为当前线程处于堆栈溢出状态

本文关键字:线程 于堆 栈溢出 状态 前线 计算 表达式 因为 | 更新日期: 2023-09-27 17:52:12

我正在用c#编写一个应用程序,看起来像这样:

public partial class MainForm : Form
{
    WICForm Frm = new WICForm();
    public MainForm(){}
}

其中_MainForm__WICForm_是同一应用中的两种不同形式。但是当我运行应用程序时,我在创建WICForm的新实例Frm时得到上述错误。原因是什么呢?

无法计算表达式,因为当前线程处于堆栈溢出状态

假设,您正在WICForm的构造函数中创建MainForm的新实例(或从其内部调用的某些代码)。

这样MainFormWICForm类递归地调用和构造彼此的新实例,这将导致堆栈溢出异常。

提示:在包含new WICForm();的行上设置一个断点(将光标放在该行上并按下F9)。当您现在在调试模式下运行代码时,您可以进入方法,看看它是做什么的。