是否有将C#代码转换为Java代码的有效工具?

是否有将C#代码转换为Java代码的有效工具?

Is there an effective tool to convert C# code to Java code?

本问题已经有最佳答案,请猛点这里访问。

是否有将C#代码转换为Java代码的有效工具?


我从未遇到过C#-> Java转换工具。语法很容易,但是框架却大不相同。即使有工具,我也强烈建议不要这样做。我从事过多个"迁移"项目,但不能说得太多,以至于转换虽然是一个不错的选择,但转换项目总是总会陷入金钱陷阱。这不是捷径,最终导致的是不可读的代码,并且没有利用目标语言。从个人经验来看,假设重写是更便宜的选择。


我们有一个需要用C#和Java维护的应用程序。由于我们一直在积极维护该产品,因此无法选择一次性端口。我们研究了Net2Java和Mainsoft工具,但都没有满足我们的要求(Net2Java缺乏鲁棒性,而Mainsoft缺乏成本和源代码转换)。我们创建了自己的名为CS2J的工具,该工具作为夜间构建脚本的一部分运行,并且将C#代码非常有效地移植到Java。目前,翻译我们的应用程序已经足够好了,但是在被认为是一个全面的工具之前,还有很长的路要走。我们已经将该技术许可给了一些具有类似需求的参与者,并且正在考虑将其公开发布的想法,但是这些天我们的核心业务使我们太忙了。


这篇博客文章建议切实可行的结果。


Microsoft提供了一个将Java转换为C#的工具。对于相反的方向,请在这里和这里看看。如果无法解决问题,则手动转换源代码的时间应该不会太长,因为C#和Java非常相似,


尽管这是一个古老的问题,但请看一下xmlVM http://www.xmlvm.org/clr2jvm,尽管它已经存在了几年,但我不确定它是否已经足够成熟。 我相信XMLvm主要是用于将Android Java应用程序转换为iPhone,但是,其基于XML代码翻译的框架足够灵活,可以进行其他组合(请参阅网站上的图表)。

至于进行这种转换的原因,也许有必要"劫持"一些高度丰富的oss代码,并在他/他们自己的[Java]项目中使用它。

干杯

丰富


尝试看一下Net2Java在我看来,从C#到Java的自动(或至少半自动)转换的最佳选择


这些家伙似乎对此有解决方案,但我还没有尝试过。他们还具有该转换器的演示版本。


C#比Java具有更多功能。以委托为例:许多非常简单的C#应用??程序都使用委托,而Java专家则认为观察者模式就足够了。因此,为了使工具转换使用委托的C#应用??程序,它必须将结构从使用委托转换为观察者模式的实现。
另一个问题是C#方法默认不是虚拟的,而Java方法却是虚拟的。此外,Java没有使方法成为非虚拟方法的方法。这就产生了另一个问题:C#中的应用程序可以通过多态性利用非虚拟方法行为,而这种方式不会直接转换为Java。
如果您环顾四周,您可能会发现有很多工具可以将Java转换为C#,因为它是一种更简单的语言(请别发火,我没说更糟,我说的更简单);但是,您几乎找不到将C#转换为Java的像样的工具。

我建议您更改从Java到C#转换的方法,因为从长远来看,它将减少麻烦。 Db4Objects最近发布了其内部工具,用于将Db4o转换为C#。它称为锐化。如果您在他们的网站上注册,则可以查看此链接以及有关如何使用Sharpen的说明:
http://developer.db4o.com/Resources/view.aspx/Reference/Sharpen/How_To_Setup_Sharpen

(我已经在他们那里注册了一段时间,他们对于不发送垃圾邮件很有帮助)


它们不直接转换,但是允许.NET和J2EE之间的互操作性。

http://www.mainsoft.com/products/index.aspx


可能您可以改用jni4net-opensource bridge?
或我知道的其他选项列表。


好吧,语法几乎是相同的,但是它们依赖于不同的框架,所以转换的唯一方法是让一个懂两种语言并转换代码的人:)问题的答案是没有"转换" c#的"有效"工具到java


这是袖手旁观,但这不是蚱hopper的目的吗?


我不确定希望通过将C#转换为Java来尝试做什么,但是如果您需要的是.net互操作性,则可能需要查看Mono。


为什么不用Haxe(http://haxe.org/)编写并将其转换为您想要的格式呢?


推荐阅读