将VB.NET代码转换为C#

4

1
这些注释表明该服务基于此项目的代码http://www.icsharpcode.net/opensource/sd/ - 您可以下载并在本地重新实现?或者联系sharpdevelop.net并询问他们是否可以让您获得本地使用的转换器许可证? - Rup
3个回答

9

在.NET Reflector中打开您的程序集。选择C#语言。将源代码复制/粘贴到Visual Studio中。尝试编译。


6
有很多在线服务:Telerik提供了一个,这是另一个,其中最好的之一在developer fusion。但这些都是在线的。
我用过Tangible Solutions的Instant C#,他们为您在转换后遇到的每个错误提供良好的服务。除此之外,许多其他工具可以通过Google找到。
如果您使用Reflector,请注意:它不会翻译您的源代码,而是编译后的代码。这可能会对方法内部的逻辑产生巨大影响,最重要的是,您将失去所有的(xml)注释和可能的文件结构(例如,无法识别部分类)。当涉及到ASPX和内联代码时,Reflector几乎无法使用。但在其他方面,它是一个极好的免费工具。

2

只需下载SharpDevelop 4.4,它包含同样的离线转换器。

实际上,SharpDevelop转换器比在线转换器更好,因为它可以查看您的整个项目和引用。

SharpDevelop源代码存储库还包含该网站的全部源代码。它是开源的。


一个快速测试表明,在#develop 5.0 beta中,VB.NET转换为C#无法正常工作(尚未)。但在4.4.1版本中,它对我来说非常有效。您可以通过Chocolatey进行安装:cinst sharpdevelop。http://chocolatey.org/packages?q=sharpdev - yzorg
是的,几乎与VB相关的所有内容都被从#develop 5.0中删除了。考虑到我们必须从头开始重新实现代码转换到新架构中,因此很可能不会恢复此功能。 - Daniel
我发现VB.NET语言服务有点滞后,以为那只是IDE集成的问题,而不是转换所使用的核心内容。谢谢提供信息。那么“工具-转换”菜单项将被移除吗? - yzorg
是的,那将被移除。在SharpDevelop 4中,C#和VB解析器使用了一个共同的语法树,因此我们基本上免费获得了一个(工作不佳的)代码转换器(然后对其进行了改进)。在SharpDevelop 5中,C#获得了全新的语法树(NRefactory 5),而我们甚至不再拥有VB解析器。 - Daniel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接