[英]C# to VB.NET Events
我在将其转换为VB时遇到问题:
public delegate void ChangeMessageEvent(string message);
public static event ChangeMessageEvent ChangeMessage = null;
而且这似乎不起作用
if (oStatusManager.ChangeMessage != null)
{
oStatusManager.ChangeMessage(message);
Application.DoEvents();
}
错误MSG:
“公共共享阴影事件ChangeMessage(消息作为字符串)”是一个事件,不能直接调用。 使用“ RaiseEvent”语句引发事件。
VB代码:
我用开发人员融合将其转换
这里没有下划线,说:声明结束
Public Delegate Sub ChangeMessageEvent(message As String)
Public Shared Event ChangeMessage As ChangeMessageEvent = Nothing
If oStatusManager.ChangeMessage IsNot Nothing Then
oStatusManager.ChangeMessage(message)
Application.DoEvents()
End If
对于以上行
“公共共享事件ChangeMessage(消息作为字符串)”是一个事件,不能直接调用。 使用“ RaiseEvent”语句引发事件。
两件事-删除“ = Nothing”并使用隐藏的VB'Event'字段-或完全删除条件,因为VB在'RaiseEvent'中执行检查:
Public Delegate Sub ChangeMessageEvent(ByVal message As String)
Public Shared Event ChangeMessage As ChangeMessageEvent
Private Sub test()
If oStatusManager.ChangeMessageEvent IsNot Nothing Then
RaiseEvent oStatusManager.ChangeMessage(message)
Application.DoEvents()
End If
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.