簡體   English   中英

調用Java中.NET程序集的最佳簡便方法

[英]Best and simple way to call .net assemblies in java

是否存在一種在Java中調用.net程序集更特定的.dll文件的方法?

我現在正在為.net開發一個框架,我需要將其遷移到Java,我可以這樣做嗎? 我在.net中使用c#。

最簡單的方法應該是COM啟用.Net程序集。 這樣,您可以調用與普通WIN32 DLL通信的任何方法。

一些示例可以在這里找到: http : //www.devx.com/interop/Article/19845

檢查此響應是否有幫助。 從Java jvm調用.net程序集崩潰。

來到了這個有趣的網站(可能對您沒有直接幫助)...

dotnetfromjava.dev.java.net

不需要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 JAVA類一樣使用Java中的.NET dll對象。

用法示例如下:

//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網站上的快速入門指南中閱讀很多示例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM