对于VB.net代码,遵循C#代码的等价物。
public void RaiseTotalTimeEvent(TotalTimeEventArgs e)
{
EventHandler<TotalTimeEventArgs> temp = TotalTimeEvent;
if (temp != null)
{
temp(this, e);
}
}
修改 谢谢你的回答。
但所有答案看起来都是使用现有的一些CODE转换器进行转换的。 我尝试了Telerik,DeveloperFusion和其他人。所有这些工具都生成如下所示的相同代码,但这些都不起作用。 转换代码。
Public Sub RaiseTotalTimeEvent(e As TotalTimeEventArgs)
Dim temp As EventHandler(Of TotalTimeEventArgs) = TotalTimeEvent
RaiseEvent temp(Me, e)
End Sub
编译器报告出现此错误:
错误8'公共事件CountEvent(发件人为对象,e为 CountEventArgs)'是一个事件,不能直接调用。用一个 “RaiseEvent”发表声明的声明。
答案 0 :(得分:3)
您应该避免自动将代码从一种语言转换为另一种语言。相反,您应该学会理解并重写代码,以您的首选语言解决问题。
但是有翻译。 http://www.developerfusion.com/tools/convert/csharp-to-vb/
答案 1 :(得分:1)
我认为它会是这样的。
Public Sub RaiseTotalTimeEvent(e As TotalTimeEventArgs)
Dim temp As EventHandler(Of TotalTimeEventArgs) = TotalTimeEvent
RaiseEvent temp(Me, e)
End Sub
答案 2 :(得分:0)
您可以通过使用一些在线C#到VB转换工具轻松完成它。无论如何,下面是等效的VB代码。
Public Sub RaiseTotalTimeEvent(e As TotalTimeEventArgs)
Dim temp As EventHandler(Of TotalTimeEventArgs) = TotalTimeEvent
RaiseEvent temp(Me, e)
End Sub
答案 3 :(得分:0)
在这里查看自动转换器:http://www.developerfusion.com/tools/convert/csharp-to-vb/
Public Sub RaiseTotalTimeEvent(e As TotalTimeEventArgs)
Dim temp As EventHandler(Of TotalTimeEventArgs) = TotalTimeEvent
RaiseEvent temp(Me, e)
End Sub
错过了if,但这应该很简单。