C# 错误:类型为';的未处理异常;System.StackOverflowException';发生在mscorlib.dll中

C# 错误:类型为';的未处理异常;System.StackOverflowException';发生在mscorlib.dll中,c#,stack-overflow,C#,Stack Overflow,今天我开始上课。我创建了一些类以使我的MainWindow.xmal.cs稍微小一些。创建第一个类并进行调试后,我收到以下错误消息: 在mscorlib.dll aufgetreten中不存在典型的“System.StackOverflowException”行为 在APPLICATION.exe aufgetreten中不存在典型的“System.StackOverflowException”行为 -->这会导致错误:MainWindow MW=new MainWindow()从您的编辑和评论

今天我开始上课。我创建了一些类以使我的
MainWindow.xmal.cs
稍微小一些。创建第一个类并进行调试后,我收到以下错误消息:

在mscorlib.dll aufgetreten中不存在典型的“System.StackOverflowException”行为

在APPLICATION.exe aufgetreten中不存在典型的“System.StackOverflowException”行为


-->这会导致错误:MainWindow MW=new MainWindow()

从您的编辑和评论中,您可以看到:

class Sprachpaket_ENG_Template01
{
    // Create a new MainWindow whenever Sprachpaket_ENG_Template01 is created
    MainWindow MW = new MainWindow();
}

class MainWindow()
{
    public MainWindow()
    {
        // Create a new Sprachpaket_ENG_Template01 whenever MainWindow is created
        Sprachpaket_ENG_Template01 ENG_01 = new Sprachpaket_ENG_Template01();
    }
}
这里有一个无限循环,这就是为什么会出现堆栈溢出

您可能希望将MainWindow作为参数传递给Sprachpaket_ENG_Template01构造函数:

class Sprachpaket_ENG_Template01
{
    MainWindow MW;

    public Sprachpaket_ENG_Template01(MainWindow mw)
    {
        MW = mw;
    }
}

class MainWindow()
{
    public MainWindow()
    {
        Sprachpaket_ENG_Template01 ENG_01 = new Sprachpaket_ENG_Template01(this);
    }
}

从您的编辑和评论中,您可以看到:

class Sprachpaket_ENG_Template01
{
    // Create a new MainWindow whenever Sprachpaket_ENG_Template01 is created
    MainWindow MW = new MainWindow();
}

class MainWindow()
{
    public MainWindow()
    {
        // Create a new Sprachpaket_ENG_Template01 whenever MainWindow is created
        Sprachpaket_ENG_Template01 ENG_01 = new Sprachpaket_ENG_Template01();
    }
}
这里有一个无限循环,这就是为什么会出现堆栈溢出

您可能希望将MainWindow作为参数传递给Sprachpaket_ENG_Template01构造函数:

class Sprachpaket_ENG_Template01
{
    MainWindow MW;

    public Sprachpaket_ENG_Template01(MainWindow mw)
    {
        MW = mw;
    }
}

class MainWindow()
{
    public MainWindow()
    {
        Sprachpaket_ENG_Template01 ENG_01 = new Sprachpaket_ENG_Template01(this);
    }
}


错误在//。。。代码导致这种情况的最好方法是
public int Foo{get{return Foo;}}}
,所以也许可以寻找类似的东西。具体在哪里?只是更多的任务,比如。。。MI_04.Header=CHN_MT.MenuitemTitel\u 04。。。依此类推。@Exception你希望现在有人真的能猜出有错误的那条线是什么样子吗?:|显示相关代码和堆栈跟踪。顺便说一句-试着自己阅读,错误应该很明显。你发布的代码不会导致异常。应用程序中可能存在无限递归的代码。。。代码导致这种情况的最好方法是
public int Foo{get{return Foo;}}}
,所以也许可以寻找类似的东西。具体在哪里?只是更多的任务,比如。。。MI_04.Header=CHN_MT.MenuitemTitel\u 04。。。依此类推。@Exception你希望现在有人真的能猜出有错误的那条线是什么样子吗?:|显示相关代码和堆栈跟踪。顺便说一句-试着自己阅读,错误应该很明显。你发布的代码不会导致异常。您的应用程序中可能有无限递归的代码。好的,非常感谢,我想我已经找到了!我正在尝试在几分钟内完成-->响应。;)这似乎有效,非常感谢!;)但是我如何在我的主窗口中“运行”类的内容?@例外我不理解你的问题。你想跑什么?你可能想发布一个单独的问题…好的,我会这样做。谢谢。新话题:好的,非常感谢,我想我明白了!我正在尝试在几分钟内完成-->响应。;)这似乎有效,非常感谢!;)但是我如何在我的主窗口中“运行”类的内容?@例外我不理解你的问题。你想跑什么?你可能想发布一个单独的问题…好的,我会这样做。谢谢。新主题: