2011-10-03 22 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#中關於委託+ =語法,增加了方法的代表列表的方法(調用列表)

相關問題