Как использовать предложение «Ручки» из Visual Basic .NET с DLL, написанной с использованием C #? - PullRequest
1 голос
/ 08 сентября 2010

В приложении Visual Basic .NET есть способ использовать Handles для объекта, на который есть ссылка в DLL, написанной на C #?Компиляция кода дает мне ошибку:

В 'Модулях' в модулях должна быть указана переменная 'WithEvents' с одним идентификатором.

Я пишу VisualБазовое приложение .NET, но у меня есть исходный код библиотеки C #.

Мой текущий код выглядит примерно так:

WithEvents Friend Module As ModuleNamespace.Module
Sub EventHandler() Handles Module.Events.Event1
    Console.WriteLine("Event1 fired.")
End Sub

Замена Module, ModuleNamespaceEvent1 с фактическими именами.

Ответы [ 2 ]

2 голосов
/ 08 сентября 2010

Вам нужна переменная уровня модуля, чтобы содержать экземпляр объекта. Воздушный код:

 Private WithEvents mMyObject As CSharpObject

 Private Sub MyEvent(...) Handles mMyObject.SomeEvent 
1 голос
/ 08 сентября 2010

Похоже, у вас нет экземпляра объекта, удобного для привязки событий.Можете ли вы попробовать использовать AddHandler вместо ключевого слова Handles?

Например:

Private Sub BindEvents(ByVal someObject AS ClassInLibrary)

  AddHandler someObject.EventName, AddressOf Foo

End Sub

Private Sub Foo(ByVal sender As Object, ByVal e As EventArgs)

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...