1

我有以下两行代码:

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

这两行的结果是一样的。

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

先感谢您。

4

3 回答 3

1

这两行导致生成完全相同的代码。你选择哪一个是风格问题。就我个人而言,我会选择Beep()在没有命名空间限定符的情况下简单地使用该命令

Sub Main()
  Beep()
End Sub

在您提出的两个选择之间,尽管我会Microsoft.VisualBasic.Interaction.Beep()选择Microsoft.VisualBasic.Beep()。前者是方法的完全限定名称,它对读者来说是完全明确的。后者虽然使用了 VB.Net 名称解析的技巧,甚至可能会欺骗有经验的 VB.Net 用户。

于 2012-04-07T14:28:36.893 回答
1

我喜欢 Visual Basic 的最大优点之一是它使代码更简单,并且通常包含常用函数的快捷方式,例如MsgBoxStopBeep. 这就是为什么两条线会产生相同的结果,因为它们实际上是相同的。

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

于 2012-04-07T14:38:01.040 回答
1

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

就像你在 VB6 中一样。

于 2012-04-07T16:12:22.417 回答