你能给我一些关于使 C# 代码和 Java 代码互操作的建议吗?让我们将互操作定义为简单的事情:允许(从 Java 代码)对 C# 中定义的类进行实例化和方法调用,也可能反过来。
这甚至可以在本地实现吗?(即没有一些代理/骨架接口机制)
最后,可以使用哪些代理机制?(即两种语言领域都支持)
我已经使用IKVM成功完成了这项工作。
我在这里找到了一篇关于 CodeProject 的非常有前途的文章。
摘自文章介绍:
建议的解决方案将展示这两个框架如何在同一进程中共同存在并相互无缝通信。
本文介绍了 Java 平台和 .NET Framework 之间的高性能互操作性解决方案。建议的解决方案不会替换 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。