2009-09-13 96 views

回答

2

最简单的方法应该是COM - 启用.Net程序集。通过这种方式,您可以像调用普通的WIN32 DLL那样调用任何方法。

有些样品可以在这里找到:http://www.devx.com/interop/Article/19845

1

没有必要对COM对象,我不会推荐任何定制的解决方案,因为它会像重新发明轮子。有很多关于这样的集成的具体情况和细节,就像传递“ref”,“out”,泛型方法等等一样。我会建议的最好的方法是使用JAVA到.NET桥接器,如www.javonet.com

这里是关于这个解决方案的短文章: http://javabridges.hubpages.com/hub/Using-NET-libraries-from-JAVA-is-that-possible

还有其他这样的桥,但用我们的javonet很容易API与一个JAR文件,你可以复制你的.NET的DLL,并直接调用它,而不任何额外的步骤。它支持.NET异常,对象配置,调用实例和静态方法,包括泛型,设置/获取字段和更多...你使用java中的.NET dll对象,就像它们是原生的JAVA类一样。

使用Sample是这样的:

//Sample Usage of .NET Random Class from JAVA using Javonet 
NObject dotNetRandom = Javonet.New("System.Random"); 
Integer randomNumber = dotNetRandom.invoke("Next",5,10); 

请注意,这样的桥自动转换结果,以原生Java类型如果可能的话,并与方法的参数相同的方式。您可以在Javonet网站的快速入门指南中阅读大量样本。

相关问题