2008-10-05 62 views
5

我有一个用Java编写的项目(> 1.5)。在C#中使用Java类

是否可以使用C#编写项目的某些部分?
例如GUI和调用方法并实例化用java编写的类?

如果是,如何?

回答

9

不是没有像ikvm - 或者使用Web服务等,双方之间的通信。基本上,它可能比在C#中重写现有项目代码或使用Java编写GUI更有效。

+0

你能解释为什么它不可能与DLL方法?重写是一个小项目重写的选项100.000行例如可能代价高昂...... – Ilya 2008-10-05 12:56:54

+0

您需要同时运行CLR和JVM - 而且这两个虚拟机不知道彼此的对象。 – 2008-10-05 14:08:29

+0

你的意思是,伊利亚的答案不起作用? – Burkhard 2008-10-05 17:09:47

4

看来我的解决方案非常有限。并仅适用于特定版本的Java。

我可能会留在老好C :)无法想象如何在不共享库工作:)

document介绍了如何创建从Java DLL和C代码中使用它。我不是C#或Java专家,但我相信你也可以在C#中加载外部DLL。所以不是一个完整的解决方案,而是一个很好的起点, 通常这是混合语言的完美方式。

2

简单的方式,你可以收拾你的java类的jar文件,然后 在C#中使用过程类执行和映射IO流

0

我前几年做了一些研究这个(2005年,我相信)我喜欢JNBridgePro作为最好的第三方产品来做到这一点。看看这里http://www.jnbridge.com/

祝你好运!

17

我的jni4net作者,JVM和CLR之间开源进程内桥。它建立在JNI和PInvoke之上。没有C/C++代码需要。我希望它能帮助你。