今天我开始上课。我创建了一些类来使我的MainWindow.xmal.cs
更小一些。创建第一个类和调试后,我收到以下错误消息:
Eine nicht behandelte Ausnahme des Typs“System.StackOverflowException”ist in mscorlib.dll aufgetreten。
Eine nicht behandelte Ausnahme des Typs“System.StackOverflowException”ist in APPLICATION.exe aufgetreten。
class Sprachpaket_ENG_Template01
{
MainWindow MW = new MainWindow();
public void Template01()
{
MW.checkBox_1_Bcc.Content = "Bcc:";
MW.checkBox_1_Cc.Content = "Cc:";
}
- >这会导致错误: MainWindow MW = new MainWindow();
答案 0 :(得分:5)
根据您的编辑和评论,您有:
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);
}
}