今天下午除錯的過程中遇到這個問題,看圖:
這個問題是在那裡遇到的呢?我在配置檔案+工廠+反射實現功能時候,出現這個問題,我當時的**是這樣寫的:
string strdb = system.configuration.configurationmanager.connectionstrings ["logindal"].tostring() ; //接收來自配置檔案的資料
public idal.ilogindal createuserinfo()
我開始也是無從下手,自己也是稀里糊塗的感覺,找師哥看了看,發現不是**的問題,之後我們去網上找到了解決的辦法,問題提示系統找不到檔案,其實檔案是存在的,只是我們沒有載入出來。
我們程式執行時都會從主程式開始執行,也就是從ui啟動整個程式,很多用到的dll檔案都需要在這個時候被載入。而d層的dll在程式啟動的時候沒有被載入出來,怎麼辦呢?
不用擔心我們可以設定路徑,將dll檔案載入到ui層中:
如果不修改路徑,預設的是當前的類庫。現在你發現剛剛的問題解決了。
自己的搜尋能力還是不夠快速和準確,怎麼辦呢?我想刻意訓練應該是最好的辦法。
自己成長的過程,是乙個不斷解決問題的過程,同時正如公尺老師所言,辦法總比困難多,平靜的面對。
對於抽象工廠和反射使用自己現在了解的是在我們更換資料庫的時候只需要在配置檔案中修改引數就可以更換了,但是具體是如何實現資料庫的切換我還是不太明白的,這是之後自己學習和體會的地方。
反射實現抽象工廠
上篇我們說了介面工廠,接下來我們看看抽象工廠 抽象類用abstract修飾,抽象類不能被例項化,抽象方法必須宣告在抽象類中,抽象型別不一定不需存在抽象方法,具體派生類必須覆蓋基類的抽象方法,抽象派生類可以覆蓋基類的抽象方法也可以不覆蓋 這樣我們就實現了在基類中新增error方法,子類中無需新增,只需...
c 反射機制 抽象工廠
using system.configuration 預設使用之前要新增引用對應的dll 之前用抽象工廠模式類名沒法變啊,還是要手動寫出要例項化的類,重新編譯 但是,反射機制的出現使得我們通過修改配置檔案無需再次編譯!具體如下 修改配置檔案的sqlserver即可 配置檔案 源 using syst...
反射 抽象工廠的資料訪問
如有一介面iuser,繼承該介面的兩個類分別為sqlserveruser和accessuser 它們之間的關係是抽象工廠模式 而到底引用哪個類是通過db變數來決定,if db sqlserver 則例項sqlserveruser反之易然 簡單模式 view code 1 class data 2 1...