从班级中调用表单时,我得到一个StackOverflowException
。
在我的MainForm
中,我使用Youtube.cs
来调用Youtube yt = new Youtube();
类。然后在我的Youtube
类中,我使用MainForm
调用MainForm main = new MainForm();
。我相信这就是导致StackOverflow的原因,因为它似乎正在创建一个循环。
我需要从Youtube
访问MainForm
类,还需要从我的MainForm
类访问Youtube
,所以是否有解决此问题的方法而不会引起StackOverflow?
这是MainForm
的顶部:
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
Youtube yt = new Youtube();
这是从
Youtube.cs
的顶部开始的:class Youtube
{
MainForm main = new MainForm();
最佳答案
将表单对象传递给YouTube类,然后在YouTube类中使用该对象。
public class Youtube
{
MainForm m_MainForm = null;
public Youtube(MainForm frm)
{
m_MainForm = frm;
}
}
关于c# - 从类调用表单时的StackOverflow,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11797343/