gpt4 book ai didi

vb.net - 如何检查是否会引发事件?

转载 作者:行者123 更新时间:2023-12-03 00:33:10 25 4
gpt4 key购买 nike

如何检查 VB.NET 中是否会引发事件?我似乎能够在 C# 中执行此操作,但不能在 VB 中执行此操作,即使我使用相同的语法。

这是我的 VB.NET 语法(返回错误)

If [EVENT] IsNot Nothing Then
End If

这是我的 C# 语法(完美运行)

If([EVENT] != null) //If an event is not null(nothing)
{
}

这是 VB 代码返回的错误

"[EVENT] is an event, and cannot be called directly. Use a 'RaiseEvent' statement to raise an event."

最佳答案

您需要 C# 中的这种语法来确保您不会引发没有订阅者的事件。这是必要的,因为这会导致您的代码崩溃并出现 NullReferenceException。

这在 VB.NET 中根本没有必要。正如您发现的那样,并且不受支持。与 C# 不同,它支持事件的第三个访问器(除了添加和删除之外),它还支持 raise 访问器。你猜对了,你通过它调用 RaiseEvent statement 。它可以很好地处理没有订阅者的事件,无需测试。

关于vb.net - 如何检查是否会引发事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20457028/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com