隐式创建的Form如何工作?

时间:2014-07-28 01:10:13

标签: vb.net winforms visual-studio-2010

如果我创建一个新的Windows窗体项目并添加第二个窗体(Form2),我可以通过引用类名来显示隐式创建的窗体:

Form2.Show()

如果我查找Form.Show过程的定义,它不会被列为Form类的Shared成员。我怎么能在Form2类名上调用Show()?

1 个答案:

答案 0 :(得分:3)

我试了一下,然后用ILSpy反编译可执行文件。

似乎是默默地将Form2.Show()重写为MyProject.Forms.Form2.Show()

MyProject.Forms是一个生成的类,它封装了项目中每个表单的惰性实例化单例实例。

这似乎是IDE的一个功能而不是编译器,因为在LINQPad中,我得到了#34;对非共享成员的引用需要一个对象引用。"