在Visual Basic .NET应用程序中,有没有办法在用C#编写的DLL中引用的对象上使用Handles
?编译代码给我的错误:如何使用Visual Basic .NET中的“Handles”子句和使用C#编写的DLL?
'Handles' in modules must specify a 'WithEvents' variable qualified with a single identifier.
我正在写在Visual Basic .NET应用程序,但我有可用的C#库的源代码。
我当前的代码看起来是这样的:
WithEvents Friend Module As ModuleNamespace.Module
Sub EventHandler() Handles Module.Events.Event1
Console.WriteLine("Event1 fired.")
End Sub
更换Module
,ModuleNamespace
和Event1
与实际名称。
我使用的AddHandler现在,但我只是想知道是否有完成同样的目标,更高效/更清洁的方式,因为运行时绑定不需要我的应用程序。 – Hello71 2010-09-09 00:23:33
除非你有像MarkJ这样的模块级变量,否则你必须自己调用AddHandler。当你使用WithEvents和Handle时,编译器实际上会发射一个属性并在setter中调用AddHandler本身。 – 2010-09-09 01:06:08