如果我创建一个新的Windows窗体项目并添加第二个窗体(Form2),我可以通过引用类名来显示隐式创建的窗体:
Form2.Show()
如果我查找Form.Show过程的定义,它不会被列为Form类的Shared成员。我怎么能在Form2类名上调用Show()?
答案 0 :(得分:3)
我试了一下,然后用ILSpy反编译可执行文件。
似乎是默默地将Form2.Show()
重写为MyProject.Forms.Form2.Show()
。
MyProject.Forms
是一个生成的类,它封装了项目中每个表单的惰性实例化单例实例。
这似乎是IDE的一个功能而不是编译器,因为在LINQPad中,我得到了#34;对非共享成员的引用需要一个对象引用。"