我的一个朋友,在我的应用程序中编写了一些代码(我无法弄清楚,并且它有效)。但我真的不明白它在做什么。有人可以解释一下吗?
public AddMember(MainForm mainForm)
{
InitializeComponent();
MainForm = mainForm;
}
private void NewMemberButton_Click(object sender, EventArgs e)
{
AddMember addMember = new AddMember(this);
addMember.ShowDialog();
}
我不理解粗体部分:
公开 AddMember(MainForm mainForm)
AddMember addMember = new AddMember(this);
答案 0 :(得分:8)
public AddMember(MainForm mainForm)
由于没有指定返回类型,AddMember
实际上是构造函数 - 因此类型必须是AddMember
。构造函数接受类型为MainForm
的参数,可能是对表单实例的引用。
AddMember addMember = new AddMember(this);
这将创建一个类型为AddMember
的新实例,将当前实例(可能是MainForm
)作为值传入,并将此新AddMember
引用分配给名为{{的变量1}}。
什么不清楚?
答案 1 :(得分:2)
public AddMember(MainForm mainForm)
看起来constructor接受名为MainForm
的{{1}}个对象。
在构造函数中,您创建一个mainForm
的新实例,并将当前实例作为参数(AddMember
)传入。这个新创建的对象称为this
答案 2 :(得分:1)
public AddMember(MainForm mainForm)
类AddMember
的{{3}},将参数mainForm
作为MainForm
的实例,在您创建该类的实例即AddMember
类时执行。
AddMember addMember = new AddMember(this)
这将创建类AddMember
的实例,它将当前类作为参数传递。看起来您的对象创建发生在MainForm
类。
答案 3 :(得分:1)
AddMember()
方法是AddMember
类的构造函数,它恰好存在于AddForm
文件中。
AddMember addMember = new AddMember(this);
正在创建AddMember类的实例,并将对封闭对象的引用传递给它。