我在我的ASP.NET web应用中使用了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”事件。
发布于 2011-10-03 22:33:32
+=操作符基本上是为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中的一些示例,请参阅How to: Raise and Consume Events。
发布于 2011-10-03 22:30:02
AddHandler service.Error, service_Error发布于 2011-10-03 22:32:00
我不确定VB的实现,但C#中关于委托的+=语法将一个方法添加到方法的委托列表(调用列表)
https://stackoverflow.com/questions/7636382
复制相似问题