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

标签 c# vb.net events delegates apns-sharp

我在我的 ASP.NET 网络应用程序中使用 JdSoft 的 APNS-Sharp 库。该库是用 C# 编写的,并广泛使用委托(delegate)函数和事件来实现线程化。我的应用程序是用 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;

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

最佳答案

+= 运算符基本上是将 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 中的一些示例。

关于c# - 如何在 VB.NET 中使用以下用 C# 编写的事件/委托(delegate)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7636382/

相关文章:

.net - 关于 TypeLoadException 的帮助

c# - 向 ProcessStartInfo 添加附加参数

python - 如何在 Windows 上使用 Python 生成按键保持和按下事件

C# 试图简化通用类型化接口(interface)的通用扩展函数

c# - 使用 Null 条件运算符时出现错误 : Syntax error, ':' expected

c# - 如何从同一解决方案中的第二个项目的 Controller 派生

c - 如何在控制台中获取按键事件

c# - string.Clone() 有什么用?

mysql - 如何从mysql时间中提取时间然后使用自定义hh :mm:ss加载到datetimepicker

java - build 迷宫