将C#方法转换为vb.net

将C#方法转换为vb.net,c#,.net,vb.net,C#,.net,Vb.net,我是vb.net新手,需要将其中一个C#类转换为vb.net。这是C班 现在这里是vb.net,它已经 Imports System Imports System.Xml.Serialization <System.Serializable()> <XmlType(TypeName:="DomEvents")> Public Class DomEvents Inherits System.Collections.CollectionBase Publi

我是vb.net新手,需要将其中一个C#类转换为vb.net。这是C班

现在这里是vb.net,它已经

Imports System
Imports System.Xml.Serialization

<System.Serializable()>
<XmlType(TypeName:="DomEvents")>
Public Class DomEvents
    Inherits System.Collections.CollectionBase

    Public Sub Add(ByVal domEvent As DomEvent)
        List.Add(domEvent)
    End Sub


End Class
网上有很多C#/VB转换器。我知道的最流行的是(提示:这是搜索“C#to VB”时的第一个结果)

上面说这是对VB的翻译:

Public Default Property Item(index As Integer) As DomEvent
    Get
        Return DirectCast(List(index), DomEvent)
    End Get
    Set
        List(index) = value
    End Set
End Property

正如Tim非常正确地指出的,值得一提的是,这些工具无论如何都不是防弹的,但它们是一个很好的起点。通常代码可以立即工作,但有时需要对您进行一些反向工程。

我不推荐我在另一个答案中看到的telerik online工具。。 我建议在线(基于

在我的案例中,它产生了铸造错误

示例VB:

myObj.myProp = CType(someObj, SomeType).Value
由telerik转换为:

myObj.myProp = (SomeType)someObj.Value;
而正确的(来自ICSHARP代码)是:


你试过搜索代码转换器吗?我找到的第一个似乎给了你一个很好的结果。不,我试图学习vb中的索引器属性。请注意,你可以直接从C#运行引用的vb程序集,而无需任何转换。vb和C#实际上编译为相同的程序集。像这样的工具是一个很好的开始,但确实如此不要依赖它们。它们从一开始就很好,但它们并不总是正常工作。哦,绝对是为了OP的利益,因为他甚至没有提到尝试将此作为一个起点。我将以此作为答案。我使用此链接学习vb.net中的索引器属性。我从未使用过这些转换器,希望永远不会使用需要。
myObj.myProp = CType(someObj, SomeType).Value
myObj.myProp = (SomeType)someObj.Value;
myObj.myProp = ((SomeType)someObj).Value;