我有一個程序可以做很多事情,其中一個連接到Oracle數據庫,使用Oracle.DataAccess.Client;
現在它不需要加載這個名稱空間。我不能包含它們,因爲它來自Oracle數據庫包。我需要一些嘗試,但在命名空間。現在沒有這個名稱空間,應用程序會拋出未處理的異常並崩潰。我想抓住這個例外並設置一些標誌,如noOracleClient=true;
。C#並嘗試命名空間
-1
A
回答
0
我不認爲它會按照你的想法工作。這聽起來像你真正想要的是一個依賴注入框架,就像Ninject一樣。
0
我建議把你的Oracle訪問代碼放在一個單獨的程序集中。然後通過接口公開功能,並將代碼展示給該接口。
然後你可以使用像Joel C建議的Ninject或者MEF(http://stevenhollidge.blogspot.com/2011/04/how-to-use-mef-with-c.html)來加載你的組裝作爲具體的類。
0
嘗試加載組件使用全名「Oracle.DataAccess.Client」通過反射
using System.Reflection;
string fullName = "fully qualified assembly name";
Assembly assembly = Assembly.LoadFrom(fullName);
如果Oracle.DataAccess.Client在GAC這個代碼將被正確執行,否則 - 將引發異常。您應該指定完整的程序集名稱來加載特定版本的Oracle客戶端
相關問題
- 1. 嘗試使用com.android.future.usb.UsbAccessory&UsbManager命名空間
- 2. 嘗試從命名空間「WAYF」
- 3. 嘗試從命名空間「控制器」
- 4. 接收嘗試包括命名空間
- 5. 命名空間:System.Windows.Media.Imaging嘗試使用它在我的C#類
- 6. C++命名空間
- 7. C#:測試。*命名空間隱藏了另一個命名空間
- 8. C++命名空間....匿名命名空間是合法的?
- 9. C-命名空間部分
- 10. XML命名空間,C#
- 11. C++中的命名空間
- 12. C++中的命名空間
- 13. C#命名空間指南
- 14. C++命名空間幫助
- 15. C#中的命名空間#
- 16. c中的命名空間#
- 17. 命名空間C#.NET
- 18. 命名空間confilcts .NET C++
- 19. C++組合命名空間
- 20. C++命名空間導出
- 21. C++命名空間函數
- 22. C++命名空間問題
- 23. C++ 「命名空間內」
- 24. 命名空間用C
- 25. C#命名空間搜索
- 26. C++ - 類與命名空間
- 27. C++宏和命名空間
- 28. C++命名空間trobles
- 29. C#DataSet命名空間
- 30. C#命名空間問題
不應該在編譯時失敗,而不是在運行時失敗?如果它無法編譯,只需刪除它? – David
您需要解決您的語法問題,並更具體地試圖實現您的目標。向我們展示一個崩潰代碼的示例。 – havardhu