窗体类,在简单的代码测试中不断获得“System.StackOverflowException”
本文关键字:System StackOverflowException 简单 测试 代码 窗体 | 更新日期: 2024-11-07 11:22:15
我一直在尝试实现和调整我的编码风格,更多地是一种过程式编程风格,但在尝试运行另一个使用系统注册表的类时遇到了问题。此外,代码在主类中运行良好。 P.S 我来自脚本背景。
代码错误:System.Windows.Forms 中发生类型为"System.StackOverflowException"的未处理异常.dll
我减少了主应用程序中的代码,以便更容易找到问题。
主窗体类:
public partial class Form1test : Form
{
// An unhandled exception of type 'System.StackOverflowException'
// occurred in System.Windows.Forms.dll
public Form1test()
{
TestClass lsr = new TestClass();
lsr.chkRegAct();
InitializeComponent();
}
}
测试类:
class TestClass : Form1test
{
//rest of code
}
TestClass
派生自Form1Test
。
你创建一个新的TestClass
,这会导致调用基类(Form1Test
)的构造函数,从而生成一个新的TestClass
,这导致调用基类(Form1Test
)的构造函数,从而生成一个新的TestClass
,这导致调用基类(Form1Test
)的构造函数,生成一个新的TestClass
,结果调用基类(Form1Test
)的构造函数,生成一个新的TestClass
结果调用基类(Form1Test
)的构造函数,生成一个新的TestClass
,结果调用基类(Form1Test
)的构造函数,生成一个新的TestClass
,结果调用基类(Form1Test
)的构造函数,生成一个新的TestClass
,结果调用基类(Form1Test
)的构造函数,生成一个新的TestClass
,结果调用基的构造函数类 (Form1Test
) 生成一个新的TestClass
,结果调用基类 (Form1Test
) 的构造函数,生成 .....
StackOverflow异常是由于无限递归导致的大量函数调用。
由于继承链 TestClass : Form1test。调用 TestClass 构造函数会创建无限递归。