乙個型別初始值設定項引發異常

2022-05-06 13:57:07 字數 1380 閱讀 3070

事件原由:

上午開啟vs,到系統的登入介面,登入提示「bll型別初始值設定項引發異常」,當一看到很是鬱悶,昨天還執行的好好的,為啥今天一登入就會提示「bll型別初始值設定項引發異常」呢,而且我的程式編譯都很正常,看樣我的程式在語該方法肯定是沒錯的,既然這樣,那應該就在程式執行時出的錯了。

後來我想到我的程式中有個bllbase類,該類是個「靜態類」裡面是一些從工廠得到的資料庫訪問層的物件,就是在執行登入時,要呼叫我的業務層(bll)方法去執行我的登入判斷,但是在業務層的類中又會通過我的bllbase類去得到我的資料庫訪問層的物件:

///

/// 使用者登陸

///

///

///

///

public bool userlogin(basememberentity model)

但是又想了想,登入功能,我們每天都在用,一直都沒有出過這樣的問題,真正的問題應該不在登入這裡,後來我就在bllbase類中設定了斷點,進行單步的除錯,結果發現,我的程式執行到了這步終於出現了異常:

///

/// 生產部裝置維修

///

public static readonly eip.idal.iscdeviceservice scdeviceservice = eip.dataaccess.dalfactory.createscdeviceservice();

這語句其實也很普通,就是通過工廠返回我的物件,這句話肯定是沒問題的,那問題就應該在我的工廠方法裡了(eip.dataaccess.dalfactory.createscdeviceservice()),

///

/// 生產部裝置維修

///

///

public static iscdeviceservice createscdeviceservice()

其實工廠方法也很簡單就是通過類的路徑反射回我的物件,這理論上也是沒問題的呀,為什麼會在這裡丟擲錯誤呢,

程式繼續向下執行,到了 (iscdeviceservice)assembly.load(path).createinstance(classname)這句時提示異常,難道是我的反射有問題,不對,後來又發現,我的反射後得到的物件又被轉換成了介面(iscdeviceservice),難道問題是在型別轉換這?

後來我找到了解類(scdeviceservicedal),果不其然,問題真的出在這了,原來我的scdeviceservicedal類都沒有實現iscdeviceservice這個介面的,在型別轉換時又怎麼可能轉換的成功呢(誒。。。copy啊,我直接把介面中的方法copy到scdeviceservicedal類中直接實現了,誒。。。呵呵。。。public partial class scdeviceservicedal),

ok....問題解決。。。。

型別初始值設定項引發異常

連續兩天都為這個執行時錯誤 型別初始值設定項引發異常 而煩惱,除錯也不知道 出了問題。在王舒和陳雄學長的幫助下,哈哈,終於就解決啦!問題是這樣嘀 專案採用了三層架構和工廠模式,對專案新增引用的。1 web 引用 bll。2 bll 引用 idal,model,使用dalfactory建立例項。3 i...

c 型別初始值設定項引發異常

typeinitializationexeption在msnd中的描述為 當類初始值設定項不能初始化型別時,將建立 typeinitializationexception 並向其傳遞由該型別的類初始值設定項引發的異常引用。我們知道,型別初始化或者訪問型別的靜態成員時,都會對類中的其他靜態成員進行初始...

關於「型別初始值設定項引發異常」

今天在除錯程式時發現了乙個異常 型別初始值設定項引發異常 第一次發現。關於typeinitializationexception異常,msdn的解析 由類初始值設定項引發的異常周圍的包裝引發的異常。程式裡面的異常點是獲取單一例項物件是報的異常,百思不得其解。再仔細查一下發現單一例項物件為null,例...