【问题标题】:convert c# to pure java? [duplicate]将c#转换为纯java? [复制]
【发布时间】:2011-01-25 22:06:15
【问题描述】:

可能重复:
is there an effective tool to convert c# to java?

我对 Java 不是很有经验,并且有很多 C# 我想将其翻译成 Java 语法,以便它可以编译。

原因:Android 和 Google Cloud

我知道 API/平台有不同的结构,但可以说我们不需要 100% 的兼容性,而只是为了翻译“核心功能”。正如我所知,GUI 本身就是一个故事。但与其重写每个 SWITCH-CASE,重建每个 Class 等,不如将对象“映射”到 Java equals,然后在 Android/Google 平台上重新编译。

我确信有些东西不能被翻译为“只有 C# 的东西”——但就像每种语言都可以生成 .NET/MONO 我认为可能有 Java -> .Net 也可用并且因此也是反编译器之类的东西?

那么有没有什么简单的方法可以通过框架、SDK 或其他类似方法来克服这种翻译,这些方法将自动完成 80-95% 的任务?

【问题讨论】:

  • 该死!为什么我在搜索时没有找到...因为我找到了。
  • 在提到的线程之后也找到了这个:net2java.dev.java.net

标签: c# java .net android cross-platform


【解决方案1】:

看看这里:JSC

但除此之外,还有一些 c# 概念不容易翻译成 java。

【讨论】:

【解决方案2】:

.NET 和 Mono 是兼容的,因为它们都是运行 C# 代码的 VM。 Grasshopper 声称允许您在 JVM 上运行 .NET 类,但我没有使用它。它根本不适用于 Android,因为 Android 不是 JVM,而是 Dalvik

C# 和 Java 之间的区别不仅仅是你所说的“结构”,而且从一种语言翻译成另一种语言比我认为你理解的要复杂。

【讨论】:

  • 我并不是说语言是平等的,而是希望尽可能地重用并专注于“最后的点点滴滴”。所以我们可以在 Java 中做 20% 的调整代码,其余的将被转换。但我可能错了。
【解决方案3】:

我知道 Microsoft 有一个工具可以帮助将 Java 转换为 C#,但考虑到大量 Java 应用程序引用主系统之外的库(Apache 是最突出的例子),这种类型的工具将是一项艰巨的任务.

C# 还具有 Java 根本不支持的数据类型,例如无符号类型和堆栈分配的对象。编写从 CLR 到 Java 字节码的翻译确实很困难。如果您在代码中使用 lambda 函数,请告别这个想法。

还有一个事实,即并非 Java 中的所有语言特性都可用于 Davlik JVM。

我不是微软的粉丝,但这里是两种语言的比较,你会明白为什么我怀疑这个工具是否存在。

http://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Java

【讨论】:

  • 哦,但是我刚刚学到了一些工具。我不是在谈论 100% 的解决方案,而只是在谈论可以消除大部分蹩脚的重做我的工作的东西。例如。业务逻辑或类/结构的后端代码可以自动获取。某个网络服务器的 API 不是我们想要翻译的,因为不同的平台有不同的可能性。但是如果你将这些调用封装到更通用的业务类中,那么你只需要专注于那些 pr。平台。
  • 祝您搜索顺利,朋友。您是否考虑过在 C# 中将此逻辑实现为 Web 服务,然后从客户端应用程序中调用您需要的内容?我没有你的详细信息,但这似乎是一个更快的方法。
猜你喜欢
  • 2016-02-04
  • 2017-06-22
  • 1970-01-01
  • 1970-01-01
  • 2011-04-06
  • 1970-01-01
  • 2023-03-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多