Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在VB.NET中使用以下用C#编写的事件/委托?_C#_Vb.net_Events_Delegates_Apns Sharp - Fatal编程技术网

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

如何在VB.NET中使用以下用C#编写的事件/委托?,c#,vb.net,events,delegates,apns-sharp,C#,Vb.net,Events,Delegates,Apns Sharp,我正在ASP.NET web应用程序中使用JdSoft的APNS Sharp库。该库是用C#编写的,并广泛使用委托函数和事件进行线程处理。我的应用程序是用VB.NET编写的,我对如何翻译以下示例代码(C#)有点困惑: 以下是反馈服务类的相关成员: public delegate void OnError(object sender, Exception ex); public event OnError Error; 基本上,我试图弄清楚如何在VB.NET中将函数(如service_Error

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

以下是反馈服务类的相关成员:

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

基本上,我试图弄清楚如何在VB.NET中将函数(如service_Error)附加到事件(如Error)上。我不清楚+=语法在此上下文中的含义,VisualStudio表示由于某种原因,我的VB.NET代码无法直接访问“错误”事件

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

恐怕我不确定VB实现,但是C++中关于委托的+=语法将一个方法添加到委托方法列表(调用列表)操作员基本上是将
反馈服务.OnError
函数订阅到
错误
调用列表中。因此,当引发
Error
事件时,调用
OnError
方法

AddHandler service.Error, service_Error
要将上述代码转换为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中的一些示例。

操作符基本上是将
反馈服务.OnError
函数订阅到
错误
调用列表。因此,当引发
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中的一些示例,请参见。

只需像平常一样订阅活动即可。你应该发布你的尝试。老实说,我实际上从未在ASP.NET中使用过线程。我的第一次尝试/研究工作是针对委托方法,如“combine”和“adddelegate”。我在这方面肯定走错了路。你应该研究如何在ASP.NET应用程序中注册事件。一个主要的区别是,您必须担心ASP.NET页面的会话和任何其他独特问题。只需像平常一样订阅活动即可。你应该发布你的尝试。老实说,我实际上从未在ASP.NET中使用过线程。我的第一次尝试/研究工作是针对委托方法,如“combine”和“adddelegate”。我在这方面肯定走错了路。你应该研究如何在ASP.NET应用程序中注册事件。一个主要的区别是您必须担心ASP.NET页面的会话和任何其他独特问题。谢谢!我可以使用AddHandler服务之类的东西来连接事件。错误,AddressOf service\u Error谢谢!我能够使用AddHandler service.Error、AddressOf service\u Error之类的东西将事件连接起来