C#转VB.net转换错误

时间:2013-11-22 10:47:00

标签: c# vb.net visual-studio-2010 error-handling

我试图在Visual Basic 2010中使用MIDI.NET,而它是用C#编写的。所以我得到了一个使用在线转换器转换它的提示,因为这些语言是相互同步的。 我遇到的一个问题是这一行

inputDevice.NoteOn += new InputDevice.NoteOnHandler(NoteOn);

转换为vb.net它看起来像这样

InputDevice.NoteOn += New InputDevice.NoteOnHandler(NoteOn)

这给了我2个错误。

  1. ' Public Event NoteOn(msg As NoteOnMessage)'是一个事件,不能直接调用。使用' RaiseEvent'发表活动的声明。 C:\ Users \ Den Houting \ AppData \ Local \ Temporary Projects \ MIDI \ Form1.vb 14 9 MIDI

  2. 错误3委托' Midi.InputDevice.NoteOnHandler'需要一个地址'表达式或lambda表达式作为其构造函数的唯一参数。 C:\ Users \ Den Houting \ AppData \ Local \ Temporary Projects \ MIDI \ Form1.vb 14 82 MIDI

  3. 当尝试做RaiseEvent NoteOn这样的事情时,它告诉我NoteOn不是一个事件。

    感谢。

1 个答案:

答案 0 :(得分:2)

VB.NET中的正确语法使用AddHandler来注册事件

AddHandler InputDevice.NoteOn, AddressOf NoteOn

更多关于MSDN