我們知道c#中的using可以釋放非託管資源, 前提是繼承自idisposable介面。
總結下常見的有哪些, 不確定的大家可以直接類繼承關係去確認是否來自idisposable介面
reader結尾的, 比如xmlreader、streamreader、stringreader、textwriter等
writer結尾的, 比如xmlwriter、xmltextwriter、textwriter等
stream結尾的, 比如memorystream、filestream等
context結尾的,比如datacontext、objectcontext等
包含db關鍵字的,比如dbcommand、dbconnection、dbtransaction等
包含sql關鍵字的,比如sqlcommand、sqlconnection、sqltransaction等
包含file、xml、activedirectory、handle、print、http、tcp、udp、ssl等的,
當我們把沒有實現idisposable介面的類放到using語句塊時, vs會報錯, 然後修正就可以了。
C 中的託管和非託管
注意!先看左上角宣告!我不想誤人子弟!但我不怕思考。沒有思考就沒有錯誤,互相學習,共同進步!如果這句話是對的,應該是對的,那麼託管就好理解了,自己搜中間語言去 我們編寫的語言要通過中間語言來翻譯即所謂的託管給il 那麼非託管就是不用il即不用中間語言翻譯,別人 微軟把 已經把這個語句翻譯好了,說白了...
託管c 與c 的呼叫
專案中,需要c 實現與硬體的通訊,顯示使用c 進行。查詢了相關資料,可以使用託管c 建立c 與c 之間的聯絡。基本框架如下 託管c 專案的建立請參考 注意,如果直接建立c 的dll庫,要注釋掉dllmain.cpp檔案,不然會報錯,或者建立mfc的dll。我除錯了好久,血的教訓!它介紹了建立託管c ...
C 類中非虛函式和虛函式相互呼叫
記住下面的原則 1 當乙個物件呼叫乙個非虛函式時,與物件的宣告型別繫結的,並不是與實際的物件的型別繫結的。2 在虛函式中呼叫非虛函式的時候,呼叫的非虛函式是與虛函式所在的類是一致的 3 在非虛函式中呼叫虛函式的時候,呼叫的虛函式是與對像的實際類一致的。4 非虛函式與虛函式的呼叫與其訪問許可權無關。分...