c#代码相当于VB.net

本文关键字:net VB 相当于 代码 | 更新日期: 2023-09-27 18:04:22

从c#代码到VB.net代码的等价性是什么?

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 'Public Event CountEvent(sender As Object, e As)CountEventArgs)'是一个事件,不能直接调用。使用一个'RaiseEvent'语句引发事件。

c#代码相当于VB.net

您应该避免自动将代码从一种语言翻译成另一种语言。相反,你应该学会理解和重写代码,用你喜欢的语言来解决问题。

但是有翻译。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

您可以通过使用一些在线c#到VB转换工具轻松完成。下面是等效的VB代码。

Public Sub RaiseTotalTimeEvent(e As TotalTimeEventArgs)
    Dim temp As EventHandler(Of TotalTimeEventArgs) = TotalTimeEvent
    RaiseEvent temp(Me, e)
End Sub

查看这里的自动转换器: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,但这应该很简单。