Visual Studio 智能感知不显示事件
Visual Studio Intellisense not Showing Events
我正在编写一个使用 TeamSpeak SDK
的 VB.Net
程序。它带有 C#
个示例,我可以毫不费力地将它们转换为 VB
.
但是,我正在尝试为一个名为 Connection 的 class 实现一个事件处理程序。在 C#
中,当我在 Connection 变量后点击一个点时,Intellisense
显示一个包含所有选项的下拉列表:
但是当我处理 VB 代码时(也在 VS 2017
中),做同样的事情不包括事件:
注意显示的属性和方法是一样的,只是没办法select事件。我对 C#
使用相同的 "using",对 VB
使用相同的 "Imports" 来引用 TeamSpeak.Sdk.Client
。我有一个数百行的工作 VB 程序,它成功地实现了 TeamSpeak SDK
,所以几乎一切正常。直到现在我想添加事件处理才让我 运行 陷入困境。
接下来我应该尝试什么?
此 C# 代码的 VB 等价物:
myObject.SomeEvent += SomeMethod;
这是:
AddHandler myObject.SomeEvent, AddressOf SomeMethod
如果您键入 AddHandler
关键字,则 Intellisense 将显示可用事件。对于 C# 代码,您可以在与 属性 或方法相同的上下文中 select 一个事件,因此将它们一起显示是有意义的。在 VB 中,您只能在 AddHandler
语句中使用事件,因此您只能在该上下文中看到事件。
VB 中有两种连接事件的方法。 @jmcilhinney 显示的 AddHandler
方法,或者使用 Handles
关键字,如下所示:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'do something useful with the button click
End Sub
如果这样做,您将在 Handles
关键字后获得 Intellisense。 Sub
的参数是可选的 - 如果您没有使用 sender
或 e
,请不要将它们放在声明中
为了使其工作,需要使用 WithEvents
关键字声明 "Control":
Public WithEvents Button1 As New Button
我正在编写一个使用 TeamSpeak SDK
的 VB.Net
程序。它带有 C#
个示例,我可以毫不费力地将它们转换为 VB
.
但是,我正在尝试为一个名为 Connection 的 class 实现一个事件处理程序。在 C#
中,当我在 Connection 变量后点击一个点时,Intellisense
显示一个包含所有选项的下拉列表:
但是当我处理 VB 代码时(也在 VS 2017
中),做同样的事情不包括事件:
注意显示的属性和方法是一样的,只是没办法select事件。我对 C#
使用相同的 "using",对 VB
使用相同的 "Imports" 来引用 TeamSpeak.Sdk.Client
。我有一个数百行的工作 VB 程序,它成功地实现了 TeamSpeak SDK
,所以几乎一切正常。直到现在我想添加事件处理才让我 运行 陷入困境。
接下来我应该尝试什么?
此 C# 代码的 VB 等价物:
myObject.SomeEvent += SomeMethod;
这是:
AddHandler myObject.SomeEvent, AddressOf SomeMethod
如果您键入 AddHandler
关键字,则 Intellisense 将显示可用事件。对于 C# 代码,您可以在与 属性 或方法相同的上下文中 select 一个事件,因此将它们一起显示是有意义的。在 VB 中,您只能在 AddHandler
语句中使用事件,因此您只能在该上下文中看到事件。
VB 中有两种连接事件的方法。 @jmcilhinney 显示的 AddHandler
方法,或者使用 Handles
关键字,如下所示:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'do something useful with the button click
End Sub
如果这样做,您将在 Handles
关键字后获得 Intellisense。 Sub
的参数是可选的 - 如果您没有使用 sender
或 e
,请不要将它们放在声明中
为了使其工作,需要使用 WithEvents
关键字声明 "Control":
Public WithEvents Button1 As New Button