如何检查VB.NET中是否会引发事件?我似乎能够在C#中完成它,但在VB中却没有,即使我使用相同的语法.
这是我的VB.NET语法(返回错误)
If [EVENT] IsNot Nothing Then
End If
Run Code Online (Sandbox Code Playgroud)
这是我的C#语法(完美运行)
If([EVENT] != null) //If an event is not null(nothing)
{
}
Run Code Online (Sandbox Code Playgroud)
这是VB代码返回的错误
"[EVENT]是一个事件,不能直接调用.使用'RaiseEvent'语句来引发事件."
您需要在C#中使用这种语法,以确保不会引发没有订阅者的事件.是必要的,因为这会使您的代码崩溃并出现NullReferenceException.
这在VB.NET中根本不是必需的.你发现,并没有得到支持.与C#不同,它支持事件的第三个访问器(除了添加和删除),它还支持raise访问器.您猜对了,RaiseEvent语句调用了哪一个.它可以处理没有订阅者的事件就好了,不需要测试.
| 归档时间: |
|
| 查看次数: |
951 次 |
| 最近记录: |