為何有些類中有Dispose方法?

2022-02-20 04:07:39 字數 516 閱讀 7990

在使用stream物件,transactionscop,socket物件時,我們往往會發現在它的內部有乙個dispose()方法,它是幹什麼用的呢?這要從微軟的**託管開始說起,所謂託管,就是不需要程式設計師自己去干涉內部分配與銷毀,從物件的建立到銷毀的過程完全由.net來幫我們去實現。

.net為提供的類庫有兩種,即「託管類庫」和「非託管類庫」,像自定義的類,值型別等,它一般來說,執行的結果可以預知,這時.net幫助我們去管理物件;而如果你要實現,網路上的傳遞,檔案的傳遞,向伺服器發包這些操作,都是系統未知的,即不知道什麼時候能執行結束,這時,它們的物件釋放,則需要自己去實現,例如:

1

using

system;

2public

void

dispose ()

3

這是mvc構造中controller類的實現,它也是非託管的類庫,與此同時,還是stream。

事實上,今天通過乙個小例子,讓我們知道了,.net中不是所有的物件都是可以先被定義的。

為何有些類中有Dispose方法?

在使用stream物件,transactionscop,socket物件時,我們往往會發現在它的內部有乙個dispose 方法,它是幹什麼用的呢?這要從微軟的 託管開始說起,所謂託管,就是不需要程式設計師自己去干涉內部分配與銷毀,從物件的建立到銷毀的過程完全由.net來幫我們去實現。net為提供的類...

Python中有些誤導的報錯提示1

之前新建乙個html文件時,系統報錯,原來 如下,我排查了好一段時間,結果,最後發現並不是下面的報錯的這個原因,是編碼方式問題。import requests res requests.get print res.status code file open book.html w file.writ...

讀《微軟的秘密》有感 辛苦中有些收穫

微軟的秘密 有感 今天終於可以看完 微軟的秘密 了,這是一本非常難讀的書,需要你去思考和帶著問題去讀,如果你對軟體開發過程不是很感興趣,奉勸你不要讀了,因為你一定會覺得異常枯燥。當然,我之所以能夠讀下來,而且認真努力的進行研讀兩遍,的確是希望能從微軟的開發流程和方法上得到一些體會,然後應用到公司的研...