有没有一个有效的工具将C#代码转换为Java代码?

85 c# java code-translation

有没有一个有效的工具将C#代码转换为Java代码?

Mic*_*ows 44

我从未遇到过C# - > Java转换工具.语法很简单,但框架却截然不同.即使有工具,我也会强烈反对.我曾经参与过几个"迁移"项目,并且不能说得很清楚,虽然转换似乎是一个不错的选择,转换项目总是总是转向钱坑.它不是捷径,你最终得到的代码是不可读的,并没有利用目标语言.从个人经验来讲,假设重写是更便宜的选择.

  • 换句话说,最有效的"工具"是程序员.:-) (32认同)
  • @MichaelMeadows:你是根据个人经历说的吗?在相反的方向,Java-> C#(这是一个更容易转换的方向),我亲自节省了很多时间和麻烦使用有形软件的转换器,转换50K线.它确实完全符合我的预期:它处理了所有烦人的细节,如果我手动重新键入新语言中的所有代码,我将不得不自己做.让我把注意力集中在需要实际思考的地方.手工仍然需要进行大量的小改动,但避免了重新输入时可能出现的粗心错误. (4认同)

小智 30

我们需要在C#和Java中维护一个应用程序.由于我们积极维护此产品,因此不能选择一次性端口.我们调查了Net2Java和Mainsoft工具,但都没有达到我们的要求(Net2Java缺乏稳健性,Mainsoft因为成本和源代码转换不足).我们创建了自己的工具CS2J,它作为我们每晚构建脚本的一部分运行,并为Java提供了一个非常有效的C#代码端口.现在,它恰好足以翻译我们的应用程序,但在被视为一个综合工具之前还有很长的路要走.我们已经将这项技术授权给了一些有类似需求的政党,我们正在考虑公开发布它的想法,但我们的核心业务让我们现在忙得不可开交.

  • 啊,但如果你把它作为开源发布,你会发现使用它的人(好吧,其中一些)会扩展它以满足他们的需求 - 这可能成为你未来的需求.如果您从许可证中赚取少量资金,您可以这样做. (4认同)
  • @gbjbaanb,成功的开源项目需要培育和建立一个社区.倾销源代码而不关心它,意味着大多数开源开发人员会首先考虑其他选项. (3认同)
  • 刚刚更新 - CS2J现已发布为开​​源.(除了个人之外,别了解任何事情,至少现在还不知道.) (3认同)
  • @theGreenCabbage Rustici Software的员工在这里.见http://www.cs2j.com/features/.该工具确实针对.NET系统库的有限子集(特别是LINQ不可翻译),可能基于我们当时需要的内容.但是单个类的翻译由XML文件处理,并且很容易为您需要的任何类添加新的XML文件. (2认同)

Nic*_*ate 8

这篇博客文章提出了有形的有用结果.


Rog*_*een 6

微软有一个工具将java转换为C#.对于相反的方向,请看这里这里.如果这不起作用,手动转换源不需要太长时间,因为C#和java非常相似,

  • "C#和java非常相似"hahaha,好笑话,在C#中使用它们后在java中尝试泛型 (6认同)
  • C# 的早期版本几乎与 Java 相同,但现在似乎已经相差甚远。 (2认同)

小智 6

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


Big*_*ich 5

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

至于进行此转换的原因,可能需要"劫持"一些高度丰富的oss代码并在他/他们自己的[Java]项目中使用它.

干杯

丰富


scu*_*bbl 3

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

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

  • 该链接是旧的,现在仅指向 SharePoint 产品。 (2认同)