1. 程式人生 > >【C#錯誤】未能新增對“LoginBLL”的引用,將此專案作為引用新增將導致迴圈依賴項

【C#錯誤】未能新增對“LoginBLL”的引用,將此專案作為引用新增將導致迴圈依賴項

前言:

     在實現三層架構的例項練習時,涉及到名稱空間的引用,出現瞭如下問題:

未能新增對“LoginBLL”的引用,將此專案作為引用新增將導致迴圈依賴項。如下圖:

                  

問題分析:

        錯誤提示告訴我說它是因為“迴圈依賴”導致的錯誤,也就是說:A引用B時不成功,有可能是B此時已經引用了A,導致兩個專案迴圈引用進入一個反覆引用的狀態。比如A引用B,B引用C,C引用A,此時C更新了,B跟著更新,那麼A也跟著更新,C也得跟著更新?而後進入無限的死迴圈。舉這個例子,想說明的是,當A引用B時,B就不能直接或者間接的引用A了,否則就會出現上面的錯誤。

解決方案:

        我想要做的是在LoginUI中引用LoginBLL,但此時LoginBLL中已經引用了LoginUI,所以只需要將LoginBLL中的LoginUI引用刪除掉就OK了。

                          

小思考:

       一開始出現這個問題,本能性的點了右上角的紅叉,我根本沒有耐心看為什麼會報這樣的錯誤(儘管這是個很低階的錯誤)。因為我一心只想著怎麼能夠把這段程式搞出來,跑起來。但沒辦法,這個錯誤不解決後面的程式都沒有辦法實現。只好回過頭來解決它了,其實它很簡單,稍稍的動腦想想,你看這不是很簡單麼微笑

       我們總說要學會站在巨人的肩膀上,但站在巨人肩膀上的前提是:首先你能夠爬上巨人的肩膀。每當遇到問題時可以先自己思考思考,猜測一下可能導致它報錯的原因,然後去驗證我們的猜測,猜對了就好像中了彩票一樣的喜悅嘴角掛起。猜不中,大不了再借助巨人的肩膀,最後的結果是這個問題總是會解決。我認為這不失是一個行之有效的好方法。