2011-10-03 79 views
1

我在我的ASP.NET Web应用程序中使用JdSoft的APNS-Sharp库。库是用C#编写的,并且为了线程化目的而大量使用委托函数和事件。我的应用程序是用VB.NET,我有点糊涂了关于如何翻译下面的示例代码(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中的事件(如错误)。我不清楚在这种情况下+ =语法的含义,VisualStudio说出于某种原因我的VB.NET代码无法直接访问'Error'事件。

谢谢!

+1

只需订阅您喜欢的事件即可。你应该发布你的尝试。 –

+0

说实话,我从来没有使用过ASP.NET中的线程。我的第一次尝试/研究工作是针对代表性的方法,如“组合”和“adddelegate”。我肯定会在那里走错路。 – Mirthquakes

+0

您应该研究如何在ASP.NET应用程序中注册事件。一个主要的区别是你不得不担心ASP.NET页面的会话和其他任何独特的问题。 –

回答

3

+=运营商基本上将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 

How to: Raise and Consume Events在VB.NET的一些例子。

+0

谢谢!我能够使用诸如AddHandler service.Error,AddressOf service_Error之类的东西来连接事件 – Mirthquakes

2
AddHandler service.Error, service_Error 
0

我不知道在VB实现我很害怕,但在C#中关于委托+ =语法,增加了方法的代表列表的方法(调用列表)

相关问题