What is the best C# to VB.net converter?
在搜寻Internet上的VB.net问题解决方案时,我经常会找到有关特定主题的有用文章,但是代码是C#。 那不是什么大问题,但是需要花费一些时间将其手动转换为VB。 到目前为止,我正在使用http://labs.developerfusion.co.uk/convert/csharp-to-vb.aspx 你知道更好吗? Telerik具有一个基于SharpDevelop的出色转换器,尽管多年来没有进行过更新(由于它基于SharpDevelop),但多年来一直运行良好。 我最近也遇到了一个基于roslyn的转换器。我不知道它的运行状况或维护程度如何,但是由于它是开源的,因此您可以随时对其进行分叉并根据需要进行更新。 如果找不到合适的转换器,则可以始终编译c#代码,并在Reflector中使用反汇编程序查看Visual Basic代码。一些变量名将更改。 SharpDevelop在C#和VB.NET之间具有内置的转换器。并不是很完美的想法(例如,VB.NET中的可选值在C#中没有等效项,因此必须编辑转换器方法的签名),但是由于可以在IDE中进行所有操作,因此可以节省一些时间。而不是网页(复制C#代码,粘贴,点击按钮,复制VB.NET代码,粘贴在IDE:P上) 我目前最常使用这两个: http://converter.telerik.com/ http://www.carlosag.net/tools/codetranslator/ 但是在其他方面也取得了一些成功: http://converter.atomproject.net/ http://www.dotnetspider.com/convert/Csharp-To-Vb.aspx http://www.developerfusion.com/tools/convert/csharp-to-vb/ 我认为最好的办法是学习其他语言,以便您可以手工重写。在某些方面存在一些相当困难的差异,我不确定转换器是否可以很好地处理。例如,比较以下内容从C#到VB的翻译:
变成
C#来自"自定义活动框架"示例,恐怕我已经失去了它的链接。但是它包含一些令人讨厌的继承(从VB角度来看)。 我正在使用名为Language Convert的免费Visual Studio 2012插件 它在2010/2012上完美运行,很遗憾,在VS 2013上还不能使用。 转换不是100%准确的,但是对于第一次启动它有点棘手,请务必检查一下下图: 最后我检查了一下,SharpDevelop有一个,它也是开源的。 您可以尝试这个转换器。有C#到VB和VB到C#的功能。 希望这可以帮助。 您可以将DLL或EXE加载到Redgate(以前是Lutz Roeder的).Net Reflector中,选择方法,然后从语言组合中选择所需的语言。所选方法的代码将以所选语言显示。 我希望这有帮助。 目前,我使用在CodeProject(http://www.codeproject.com/KB/cs/Code_convert_add-in.aspx)上找到的VS2005插件。它使用外部服务(http://www.carlosag.net/Tools/CodeTranslator/)进行翻译。 有时,当我离线时,我会使用转换器工具(http://www.kamalpatel.net/ConvertCSharp2VB.aspx)。 在不回答您的问题的同时,我会说我也处于类似的位置。 当我真正开始使用.NET时,我意识到C#中的代码示例很尴尬,但是在我的第一个项目开始几周后(我对.NET框架和VB.NET本身越来越熟悉之后),我发现对C#代码进行反向工程很有意思,有时甚至是有益的。不仅在语法上,而且还学习方法上的细微差异-在这方面持开放态度非常有用。 随着我对框架的了解越来越多,我一直坚持使用VB.NET,但是不久以后,我将全神贯注于C#,以期成为"多语言"。 卡洛斯·阿吉拉尔·马雷斯(Carlos Aguilar Mares)的在线转换器可以永久保存大约40个代码转换器-但我同意Reflector是更好的答案。 现在,位于http://www.developerfusion.com/tools/convert/csharp-to-vb/(新网址)的那个支持.NET 3.5语法(再次感谢#develop伙计们),它将自动复制结果到剪贴板:) |