繁体   English   中英

C#转VB.net转换错误

[英]C# to VB.net convertion error

我试图在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'需要'AddressOf'表达式或lambda表达式作为其构造函数的唯一参数。 C:\\ Users \\ Den Houting \\ AppData \\ Local \\ Temporary Projects \\ MIDI \\ Form1.vb 14 82 MIDI

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

谢谢。

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

AddHandler InputDevice.NoteOn, AddressOf NoteOn

更多关于MSDN

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM