我一直在尝试实现和改编我的编码风格,以一种过程编程风格来实现,但是在尝试运行另一个与系统注册表一起使用的类时遇到了问题。此外,该代码在主类中运行良好。附言:我来自脚本背景。

代码错误:System.Windows.Forms.dll中发生了类型为'System.StackOverflowException'的未处理异常

我已经从主应用程序中减少了代码,以便更轻松地查找问题。

主要表格类别:

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导致调用基类()的构造方法,该方法生成.....

StackOverflowException由于无限递归导致许多函数调用。

关于c# - 表单类,通过简单的代码测试不断获取“System.StackOverflowException”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36797102/

10-10 16:15