我是C#程序員,並且不與本地介紹。 我有一個本地DLL,&心中已經用在我的項目,但會導致一些類型的託管代碼行不通的。 我會準備在本地(C++)一個DLL,我要在事件occure,然後知道我的託管代碼;我怎樣才能做到這一點?創建本地DLL
Q
創建本地DLL
1
A
回答
1
如果您的本機DLL的API允許您將函數指針註冊爲要在引發事件時調用的回調函數,則可以將常規C#委託函數作爲函數指針(Marshal.GetFunctionPointerForDelegate
)進行編組,然後僅通過通過註冊託管代理的P/Invoke。
1
如果你想處理您的C#代碼本土賽事,那麼我認爲最好的辦法是寫一個C++/CLI DLL這將作爲工作的C++本地DLL和C#DLL之間的中間層。你可以處理事件在中間庫,並通過他們對這種方式要由託管DLL再次抓獲。
另一種選擇是寫你的本地DLL作爲一個COM DLL,並從那裏籌集COM派遣活動。通過創建此COM DLL的Interop,您可以直接在C#DLL中捕獲事件。但是如果你不熟悉COM編程,這條路線的學習曲線非常陡峭。
相關問題
- 1. 創建pdfium DLL
- 2. 創建dll文件
- 3. Subversion創建本地鏡像
- 4. 創建本地SVN分支
- 5. 如何創建本地化
- 6. 創建本地用戶
- 7. 創建本地Android服務
- 8. 本地git回購創建
- 9. 在本地DLL中包裝CLR DLL
- 10. System.Security.SecurityException訪問本地DLL時
- 11. 如何創建資源DLL
- 12. windows embedded ce 6.0 dll創建
- 13. Java創建.dll文件
- 14. 爲Labview創建一個DLL
- 15. 從dll創建nuget包
- 16. 問題,創建DLL文件
- 17. 從ios庫創建DLL
- 18. 用Visual Studio創建.dll
- 19. 在DLL中創建線程
- 20. c中創建dll文件#
- 21. 在C#砥創建DLL在
- 22. XAMARIN Forms創建綁定DLL
- 23. 用VB.Net創建MetaTrader4 DLL
- 24. 如何在NuGet v3 API中爲本地程序包創建程序集(dll)?
- 25. 創建一個沒有版本號的.net DLL版本
- 26. 爲本地庫創建本地環境的框架
- 27. 創建本地文件已經在本地回購
- 28. Re在本地創建跨域問題
- 29. 爲iOS創建本地化文件
- 30. 在iOS本地創建條碼