2010-07-09 51 views
1

可能重複:
Close and Dispose - which to call?Dispose和Close有什麼區別?

嗨,

閱讀一些網頁後,我還是不明白,在C#中的Dispose和Close方法之間的區別。

讓我們的樣本:

using (SqlConnection sqlConnection = new SqlConnection()) 
{ 
    // Execute an insert statement (no breaks, exceptions, returns, etc.) 
} 

,第二個:

SqlConnection sqlConnection = new SqlConnection(); 
// Execute an insert statement (no breaks, exceptions, returns, etc.) 
sqlConnection.Close(); 

那些是兩段代碼相似?都可用只是爲了方便(因爲在有些情況下using不是一個解決辦法?或者有在活動的差異?

那麼,爲什麼一些類提供Close方法和應,當我把一個Close方法IDisposable類我創建?

+4

Duplicate http://stackoverflow.com/questions/61092/close-and-dispose-which-to-call – chilltemp 2010-07-09 22:11:41

+0

感謝注意它是重複的。我在發佈前搜索,但沒有找到它。我正在結束這個問題。 – 2010-07-09 22:28:04

回答

3

你的兩段代碼是等效的。實現IDisposable和揭露Close

.NET類,這樣做對於伸出具有有一個稍微友好名稱Close方法更加方便。通常一個調用其他

如果您實施自己的一次性課程,則不需要添加Close方法,除非您希望有一個方法。

+0

這幾乎是正確的。除了數據庫連接類以外,Dispose和Close都是相同的。 – 2010-07-09 22:38:04