我在Visual Studio 2008的C#.NET Compact Framework的3.5的移動項目的程序使用條形碼掃描儀和適用於兩種不同類型的Windows Mobile設備(使用自己的SDK來操縱條形碼掃描器兩者)。如何有條件地添加對掃描儀SDK SDK DLL文件的引用?即如果爲HARDWARE1配置編譯,我不想添加對HARDWARE2-SCANNER-SDK.DLL的引用。添加通過代碼參考?
1
A
回答
1
您可以指定哪些DLL(縣)在您的app.config文件加載,然後用Assembly.Load方法加載正確的庫(庫)。
這是簡單的答案。但要真正做到這一點,您可能需要創建一些共享公共API的「包裝器」程序集(也在單獨的庫中),以便您的最終應用程序無需關心掃描器信息的來源。它應該不知道正在使用什麼硬件。
順便說一句:這是所有相關的依賴注入的概念,儘管在模塊,而不是一個一流水平。這裏有一對夫婦的資源,讓您開始:
http://msdn.microsoft.com/en-us/magazine/cc163739.aspx http://en.wikipedia.org/wiki/Dependency_injection
0
你爲什麼需要?如果您使用接口訪問掃描器,則一個實現將引用一個SDK,另一個實現將引用另一個SDK。
在運行時實際創建的類將試圖加載引用的程序集,如果你實例,然後適當的SDK參考將被裝載前檢測硬件。基本上,如果你不使用不存在的SDK,它將永遠不會嘗試加載它。
這將是一個問題的唯一原因是,如果兩個軟件開發工具包使用相同的類名。在這種情況下,我仍然會基於它進行接口,但是對於接口的每個實現都有一個不同的DLL,並且這些項目會引用它們正確的SDK。
相關問題
- 1. 通過代碼添加窗體控件通過代碼
- 2. 通過參考
- 3. 通過參考
- 4. 通過代碼添加綁定擴展
- 5. 通過代碼添加xml標記
- 6. Android通過代碼添加許多Imageview
- 7. 通過代碼不工作添加LongListSelector
- 8. Windows 8通過代碼添加附件
- 9. 代碼問題通過nuget添加ELMAH
- 10. Javascript通過代碼添加js庫
- 11. Android:通過java代碼添加圖像
- 12. 動態添加HTML代碼通過JavaScript
- 13. 通過ASPX代碼添加CSS類
- 14. 如何通過添加Python代碼
- 15. 事件通過代碼添加不開
- 16. 通過代碼在Sharepoint中添加TermSetGroup
- 17. 通過代碼添加谷歌帳戶
- 18. 通過代碼添加和設置NSLayoutConstraint
- 19. 通過代碼添加模塊
- 20. 再通過參考
- 21. LLVM,通過參考
- 22. C - 通過參考?
- 23. 通過vb.net參考
- 24. 通過RealProxy參考參數
- 25. 添加DLL參考
- 26. Bloomberglp.Blpapi添加參考
- 27. 參考添加DLL
- 28. 添加一個C#參考號碼
- 29. 爲Web參考添加服務參考
- 30. mySQL加入參考父代碼