猿问

为什么在VB.Net中每个表单都有一个默认实例,而在C#中却没有?

为什么在VB.Net中每个表单都有一个默认实例,而在C#中却没有?

我只是好奇地知道有(Name)属性,它表示表单类的名称。此属性在命名空间中用于唯一标识窗体是其实例的类,如果是VisualBasic,则用于访问窗体的默认实例。

现在这个默认实例来自何处,为什么C#不能有一个与此等价的方法。

另外,为了在C#中显示一个表单,我们执行如下操作:

// Only methodForm1 frm = new Form1();frm.Show();

但在VB.Net中,我们有两种方法:

' First common methodForm1.Show()' Second methodDim frm As New Form1()frm.Show()
  1. 我的问题来自于第一种方法。这是什么Form1,它是否是Form1或者Form1阶级本身?现在,正如我前面提到的,表单名称是VB.Net中的默认实例。但我们也知道Form1中定义的类。Designer那么,实例和类名的名称怎么可能是相同的呢?如果Form1是一个类,因此没有(静态\共享)方法名为Show()。那么,这种方法从何而来呢?

  2. 他们在生成的IL中有什么不同?

  3. 最后,为什么C#不能有类似的功能呢?


繁星coding
浏览 479回答 2
2回答
随时随地看视频慕课网APP
我要回答