将事件从C#转换为VB.NET [英] Converting Events from C# to VB.NET
问题描述
我正在为想要VB.NET示例的老板研究IPC远程处理.我在 http://j1hammer.blogspot.com/2005/上找到了一个很好的例子11/creating-broadcast-events-server-using.html ,但它在C#中.我正在尝试将其转换为VB.NET,但是我遇到了C#处理事件的方式的问题.
在原始代码中:
I''m researching IPC remoting for my boss, who wanted a VB.NET sample. I found a good example at http://j1hammer.blogspot.com/2005/11/creating-broadcast-events-server-using.html, but it''s in C#. I''m trying to convert it to VB.NET but I''m running into a problem with the way C# handles events.
In the original code:
private void InitializeObjects()
{
_bcaster = (IBroadcaster)RemotingHelper.GetObject(typeof(IBroadcaster));
_eventHelper = new BroadcastEventHelper();
_eventHelper.MessageArrivedLocally += new MessageArrivedHandler(HandleMessage);
_bcaster.MessageArrived += new MessageArrivedHandler(_eventHelper.LocallyHandleMessageArrived);
}
这将转换为以下VB.NET代码段:
This translates into the following VB.NET snippet:
Private Sub InitializeObjects()
_bcaster = DirectCast(RemotingHelper.GetObject(GetType(IBroadcaster)), IBroadcaster)
_eventHelper = New BroadcastEventHelper()
_eventHelper.MessageArrivedLocally += New MessageArrivedHandler(AddressOf HandleMessage)
_bcaster.MessageArrived += New MessageArrivedHandler(AddressOf _eventHelper.LocallyHandleMessageArrived)
End Sub
但是,当我尝试使用它时,出现以下错误:
However when I try to use it I get the following errors:
''Public Event MessageArrivedLocally(msg As Common.Common.Message)'' is an event, and cannot be called directly. Use a ''RaiseEvent'' statement to raise an event.
''Public Event MessageArrived(msg As Common.Common.Message)'' is an event, and cannot be called directly. Use a ''RaiseEvent'' statement to raise an event.
完整的代码可以在我最初发布的链接中找到,位于页面下方约35%的位置.为"_bcaster"做一个^ F可以使您到代码中的这一点.
抱歉,含糊不清.如果需要,我将尝试发布更多详细信息.
The full code can be found at the link I originally posted, at about 35% down the page. Do a ^F for "_bcaster" to get you to this point in the code.
Sorry for the ambiguity. I''ll try to post more details if requested.
推荐答案
要替换object.Event += ...
,您想使用AddHandler
. Google是您的朋友.
To replaceobject.Event += ...
, you want to useAddHandler
. Google is your friend.
这篇关于将事件从C#转换为VB.NET的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!