using使用注意事項

2021-05-22 23:37:23 字數 917 閱讀 3279

在c#的語法中,using關鍵字有幾個作用:

一、匯入乙個命名空間,以便於能使用該命名空間下的相關型別定義,如下的例項**中,將匯入system.text下的相關型別定義

二、為乙個命名空間設定別名,這種情況下並不會匯入對應命名空間下的型別定義,如例項**為system.text定義了別名systext,因此在程式中可以直接使用systext.type來引用該命名空間下的相關型別定義

三、限定物件的生存空間,當**操作退出定義的限定空間時,將自動執行指定物件的dispose 方法,這通常需要指定物件實現了idisposable介面

對於上述三種用法,本文不作詳細解釋。本文想要著重描述的是關於第三種用法中可能存在的「陷阱」問題。

using語句在編譯時會被展開成如下形式(根據msdn的文件描述):

因此,即使是操作執行過程中產生異常,using語句也能保證它所限定的物件能被正常釋放。但如果dispose()方法執行過程中丟擲異常,結果會如何呢?這就是using語句的陷阱一:

陷阱一:如果物件的dispose()方法丟擲異常,那麼使用using語句將不能捕獲該異常,並最終導致using語句之後的**無法被繼續執行。使用過wcf客戶端**類的開發者應該知道,wcf客戶端**類在執行close()方法時是可能丟擲異常的,因此如下的**實現在close()方法丟擲異常之後將導致後續操作無法繼續進行。

同樣是由於dispose()方法是在finally中執行的,一旦其執行出錯,將導致using語句內部產生的異常無法正常丟擲,也就不可能被using語句塊外的**捕獲。

陷阱二:如果物件dispose()方法執行出錯,將導致using語句內部產生的異常被using語句所「遮蔽」而無法被外界捕獲。

LCD使用注意事項

a.lcd使用注意事項 1.確保是在電源關閉的狀態下拔插線纜 2.對液晶屏進行固定安裝時,注意使整個液晶屏保持平整,避免外力導致液晶屏 彎曲 扭曲 3.一定要小心液晶屏的表面偏光片,避免被堅硬物體劃傷 決不能將堅硬物品置於液晶屏之上 4.如果水滴長時間滯留在液晶模組上,可能導致變色或出現汙斑,所以務...

LCD使用注意事項

a.lcd使用注意事項 1.確保是在電源關閉的狀態下拔插線纜 2.對液晶屏進行固定安裝時,注意使整個液晶屏保持平整,避免外力導致液晶屏 彎曲 扭曲 3.一定要小心液晶屏的表面偏光片,避免被堅硬物體劃傷 決不能將堅硬物品置於液晶屏之上 4.如果水滴長時間滯留在液晶模組上,可能導致變色或出現汙斑,所以務...

kermit使用注意事項

linux下的串列埠使用,有minicom,kermit,cu等終端,但kermit一直是我所喜歡的。下面講講安裝時使用時的一此注意事項 1.不要同時與minicom安裝使作。但是我的指令碼是明明已經設定的 set speed 115200 set reliable fast set carrier...