什么是交互类?

时间:2012-04-07 14:22:16

标签: vb.net

我有两行代码:

Microsoft.VisualBasic.Interaction.Beep()
or
Microsoft.VisualBasic.Beep()

这两行的结果相同。

什么是交互类?当我说它使用它时?

提前谢谢。

3 个答案:

答案 0 :(得分:1)

这两行导致生成完全相同的代码。你选择哪一个是风格问题。就个人而言,我会选择在名称空间限定符的绝对值中使用Beep()命令

Sub Main()
  Beep()
End Sub

在您提出的两个选项中,我会选择Microsoft.VisualBasic.Interaction.Beep()而不是Microsoft.VisualBasic.Beep()。前者是方法的完全限定名称,对读者来说完全明确。后者虽然使用了VB.Net名称解析技巧,但可能会欺骗经验丰富的VB.Net用户。

答案 1 :(得分:1)

我喜欢Visual Basic的最好的事情之一是它使代码更容易,并且通常包含常用函数的快捷方式,例如MsgBoxStopBeep。这就是两条线产生相同结果的原因,因为它们实际上是相同的。

另外,正如@JaredPar所提到的,最好使用完全限定名Microsoft.VisualBasic.Interaction.Beep()Beep(),这样可以使代码更具可读性。

答案 2 :(得分:1)

这是一个奇怪的名字,除了立即窗口中可用的方法之外没有其他好的猜测。关键是该类使用<StandardModule>属性进行修饰。这是编译器将类成员移动到全局名称空间的提示。所以你可以简单地编写MsgBox()而不用打扰类名。

就像在VB6中一样。