在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