是否有将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/)编写并将其转换为您想要的格式呢?


推荐阅读

    linux命令补全工具?

    linux命令补全工具?,工具,系统,软件,地址,命令,名称,智能,环境,信息,终端,简

    linux系统命令行工具?

    linux系统命令行工具?,工具,系统,工作,状态,命令,地方,标准,信息,环境,基础,L

    linux命令基础代码?

    linux命令基础代码?,基础,系统,管理,工作,代码,网络,单位,信息,数据,命令,lin

    linux打开代码命令行?

    linux打开代码命令行?,系统,首页,工具,终端,代码,密码,情况,命令,快捷键,窗

    linux命令下载工具?

    linux命令下载工具?,工具,网络,代理,代码,简介,位置,系统,第一,下载工具,文

    linux克隆代码命令?

    linux克隆代码命令?,系统,代码,文件,命令,目录,源文件,文件夹,路径,目标,表

    linux好用的命令工具?

    linux好用的命令工具?,系统,管理,工具,基础,服务,信息,工作,发行,公司,代码,L

    linux常用命令行工具?

    linux常用命令行工具?,系统,工作,工具,地址,管理,信息,命令,软件,目录,基础,l

    linux命令行专业工具?

    linux命令行专业工具?,工具,系统,工作,信息,服务,环境,基础,命令,管理,发行,l

    linux命令行执行工具?

    linux命令行执行工具?,工具,系统,网络,分析,工作,服务,状态,信息,电脑,发行,s

    linux命令行执行工具?

    linux命令行执行工具?,工具,系统,网络,分析,工作,服务,状态,信息,电脑,发行,s

    linux命令行调试代码?

    linux命令行调试代码?,环境,代码,信息,平台,程序,编辑,版本,步骤,体系结构,

    linux编译源代码命令?

    linux编译源代码命令?,工具,代码,百度,最新,环境,项目,系统,电脑,密码,内核,l

    linux命令提交代码?

    linux命令提交代码?,工作,系统,地址,代码,命令,数据,信息,目录,标准,发行,求

    linux代码同步命令?

    linux代码同步命令?,时间,服务,系统,地址,代码,网络,通信,图片,风险,管理,lin

    linux命令错误代码?

    linux命令错误代码?,系统,密码,电脑,网络,手机,网址,软件,代码,设备,老板,Lin

    开发linux命令工具?

    开发linux命令工具?,系统,工具,环境,状态,平台,设计,数据,电脑,中小企业,标

    linux同步代码命令?

    linux同步代码命令?,时间,系统,通信,网络,标准,图片,服务,代码,线程,单位,Lin

    linux拉取代码命令?

    linux拉取代码命令?,代码,工作,地址,命令,数据,系统,单位,生产,软件,目录,lin

    linux命令行工具大全?

    linux命令行工具大全?,工作,系统,工具,地址,信息,命令,目录,基础,管理,文件,l