【发布时间】:2008-10-10 14:35:27
【问题描述】:
您能给我一些关于使 C# 代码和 Java 代码互操作的建议吗? 让我们将互操作定义为简单的事情:允许(从 Java 代码)实例化和调用 C# 中定义的类的方法,也可能反过来。
这甚至是可能的本机吗? (即没有一些代理/骨架接口机制)
最后,可以使用哪些代理机制? (即两种语言领域都支持)
【问题讨论】:
-
创建一个以不同字节码格式定义的类现在很简单吗? ://
您能给我一些关于使 C# 代码和 Java 代码互操作的建议吗? 让我们将互操作定义为简单的事情:允许(从 Java 代码)实例化和调用 C# 中定义的类的方法,也可能反过来。
这甚至是可能的本机吗? (即没有一些代理/骨架接口机制)
最后,可以使用哪些代理机制? (即两种语言领域都支持)
【问题讨论】:
我已经使用IKVM 成功完成了这项工作。
【讨论】:
我在 CodeProject here 上发现了一篇很有前途的文章。
摘自文章介绍:
建议的解决方案将显示如何 这两个框架可以一起生活 在同一进程中并进行通信 无缝衔接。
这篇文章描述了一个 高性能互操作性 Java平台和之间的解决方案 .NET 框架。建议的 解决方案不替换 Java 虚拟机或 .NET Framework 运行时,相反,您的 JVM 或 .NET 是 每个托管在对方 运行时环境,确保 特定于供应商的 VM 优化是 保存。
【讨论】:
不知道在 .NET 方面需要做什么(我不是 .NET 人),但 Java 提供了用于与本机库互操作的 JNI 框架。
从Wikipedia 开始,然后点击链接...
【讨论】:
我是jni4net 的作者,它是 JVM 和 CLR 之间的开源进程间桥梁。它建立在 JNI 和 PInvoke 之上。无需 C/C++ 代码。希望对你有帮助。
【讨论】:
有一些第三方产品可以在本地进行 .NET-Java 互操作。 J-Integra 是我最熟悉的人(我不为他们工作,也对他们没有任何经济利益)。
如果您可以使用代理等,您可以选择一些选项,例如 SOAP/Web 服务或 CORBA。
【讨论】: