如何在VB.NET中使用C#编写的以下事件/ delgates?

我在我的ASP.NET网络应用程序中使用JdSoft的APNS-Sharp库。 该库是用C#编写的,并广泛使用委托函数和事件来进行线程处理。 我的应用程序是用VB.NET编写的,我对如何翻译以下示例代码(C#)感到困惑:

.... //Wireup the events service.Error += new FeedbackService.OnError(service_Error); .... } static void service_Error(object sender, Exception ex) { Console.WriteLine(...); } 

以下是FeedbackService类的相关成员:

 public delegate void OnError(object sender, Exception ex); public event OnError Error; 

基本上,我试图弄清楚如何将函数(如service_Error)附加到VB.NET中的事件(如Error)。 我不清楚+ =语法在这个上下文中意味着什么,VisualStudio说我的VB.NET代码由于某种原因无法直接访问’Error’事件。

谢谢!

+=运算符基本上是将FeedbackService.OnError函数订阅到Error调用列表。 因此,当引发Error事件时,将调用OnError方法。

要将上面的代码翻译成VB.NET,它看起来像:

 // define delelgate/event Public Delegate Sub OnError(sender As Object, ex As Exception) Public Event OnError Error // attach method to event AddHandler service.Error, service_Error 

有关VB.NET中的一些示例,请参见如何:提升和使用事件 。

 AddHandler service.Error, service_Error 

我不确定VB实现我害怕,但C#中关于委托的+ =语法,为委托方法列表添加了一个方法(调用列表)