我目前正在将一个类从C#转换为Visual Basic 2010。
大多数部件都运行良好,直到我来到EventHandlers。我还没有能够将以下代码行转换为Visual Basic,既不是我自己也不是使用转换器:
public event EventHandler<StringEventArgs> ServerMessage = delegate { };
转换器&#39;代码只给我错误&#34;期望结束语&#34;:
Public Event ServerMessage As EventHandler(Of StringEventArgs) = Sub()
End Sub
那么,delegate { }
部分是否需要转换为Visual Basic代码?
如果是这样,我该如何正确转换?
如果没有,仅使用以下内容就足够了:
Public Event ServerMessage As EventHandler(Of StringEventArgs)
答案 0 :(得分:3)
VB.NET&#39; RaiseEvent
检查一个事件在实际引发事件之前是否没有订阅者(它不会抛出异常),所以你的
Public Event ServerMessage As EventHandler(Of StringEventArgs)
应该有用。
这是在C#中将委托设置为delegate{ };
的目的,以避免在引发事件时检查null
。由于事件总是为其分配一个空方法,因此不会抛出异常。