[英]How to call a c# dll from java program
我有需要在Java中調用的ac#dll。我發現有一種使用jni調用c ++ dll的方法。如何為ac#dll進行處理。.請幫助..我在此上找不到任何好的材料
從這里 :
IKVM.NET是Java for Mono和Microsoft .NET Framework的實現。 它包括以下組件:
- 在.NET中實現的Java虛擬機
- Java類庫的.NET實現
- 支持Java和.NET互操作性的工具
您可以使用Java本機接口 。 或者,您可以從C#代碼創建COM程序集,然后使用J-Interop調用它。
如果您有C#dll源,則可能需要使用更好的方法,即使用GrassHopper之類的工具將其轉換為Java。
根據GrassHopper的關鍵功能說明,它可以將MSIL轉換為Java叮咬代碼。 因此可以在沒有C#DLL來源的情況下使用
檢查此: http : //www.javonet.com
如果您尋求快速簡便的解決方案,那么Javonet應該可以為您工作。 它是IKVM的輕巧版本,J-Integra也可以作為本機橋。
您要做的就是:
樣品:
NObject obj = Javonet.New("yourDotNetClass");
obj.invoke("YourMethod","arg1", 2);
該語法不是強類型的,並且像反射一樣工作,但是由於您不需要在.NET端進行任何更改,因此可以使您最快地訪問任何自定義.NET代碼,第三方庫或.NET框架。 如果需要,也可以實現自定義的強類型包裝器。
我確實建議使用此橋接器,因為我認為這是最容易快速完成工作的方法,但是其他本機橋接器也值得檢查,因為這是此類情況的最佳方法。
除非您有很多時間並且只想學習,否則我將避免使用自定義JNI或COM,如果您需要快速而可靠的解決方案,請使用第三方橋梁之一。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.