我正在學習java的方式,我想知道什麼是System.load(dll)並行/在C#中執行此..是否像「使用」語句?我是一個C#開發人員,所以可能具有一個例子會更好,我理解它C#中System.load(dll)的實現是什麼?
0
A
回答
1
在C#中,你可以使用反射在運行時動態加載庫:
System.Reflection.Assembly myDllAssembly =
System.Reflection.Assembly.LoadFile("%MyDLLPath%\\MyDLL.dll");
之後,你就可以搜索類型從組合:該類型的
System.Type MyDLLFormType = myDllAssembly.GetType("MyDLLNamespace.MyDLLForm");
並創建對象:
Form MyDLLFormInstance = (Form)myDllAssembly.CreateInstance("MyDLLNamespace.MyDLLForm");
1
在java中:加載一個Java本地/動態庫(DLL),see this example :
import com.chilkatsoft.CkZip;
public class Test {
static {
try {
System.load("C:/chilkatJava/chilkat.dll");
} catch (UnsatisfiedLinkError e) {
System.err.println("Native code library failed to load.\n" + e);
System.exit(1);
}
}
public static void main(String argv[])
{
CkZip zip = new CkZip();
System.out.println(zip.version());
}
}
在C#:嘗試此鏈接回答:https://stackoverflow.com/a/1087851/1743852
0
在C#中,您不能加載本地的dll,而不是你P /調用它們!
P/Invoke或Pinvoke代表平臺調用服務。 PInvoke 是Microsoft .NET Frameowrk的一項功能,它允許開發人員 調用動態鏈接庫(DLL)中的本機代碼。 當Pinvoking時,.NET框架(或公共語言例程)將加載DLL並自動處理類型轉換。 P/Invoke最常見的用途是使用Win32 API中包含的僅包含 的Windows功能。 Windows中的API非常廣泛,只有一些功能封裝在.NET庫中。
相關問題
- 1. 什麼是C#中的「自動實現」?
- 2. 什麼是推薦的Bcrypt C實現?
- 3. 在c/C++中實現神經網絡的方法是什麼?
- 4. `strtol`的實現是什麼?
- 5. 爲什麼在c#中而不是C++中實現IDataReader類?
- 6. C++ DLL調用C#DLL的選項是什麼?
- 7. 什麼是dll?
- 8. 無法使用System.load加載.dll(路徑);
- 9. 如何卸載由System.load(DLL的路徑)加載的dll
- 10. QCryptographicHash - 現實中的SHA3是什麼?
- 11. JavaScript中的「依賴實現」是什麼?
- 12. Java中的本地實現是什麼?
- 13. C中的一個好的開源B樹實現是什麼?
- 14. 在Delphi中實現C#的BackgroundWorker的最佳方式是什麼?
- 15. 實現是什麼意思?
- 16. 什麼是具體實現?
- 17. 什麼是AppDelegate實現? PushNotificationIOS
- 18. 實現IIdentity,AuthenticationType是什麼?
- 19. 什麼是實現分頁
- 20. 在C#中實現Retry Wrapper的最佳方式是什麼?
- 21. 什麼是頭文件和C++中的實現文件?
- 22. C#中顯式接口實現的優點是什麼?
- 23. 什麼是C++中的標準延遲/終結器實現?
- 24. C++中的接口與實現。這是什麼意思?
- 25. 在C#中實現IDisposable的正確方法是什麼?
- 26. 什麼是在C++中實現多態的不同方法
- 27. 什麼是在C#中的C++隱式鏈接DLL等價物?
- 28. 什麼是Microsoft.Web.Services2.dll
- 29. C++實現在dll外定義的虛擬類,在dll中
- 30. 什麼是現代C++?
所以你想在C#或Java? –