今天我开始上课.我创建了一些类来让我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:";
}
Run Code Online (Sandbox Code Playgroud)
- >这会导致错误: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();
}
}
Run Code Online (Sandbox Code Playgroud)
这里有一个无限循环,这就是你得到堆栈溢出的原因.
您可能希望将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);
}
}
Run Code Online (Sandbox Code Playgroud)