C#中的connection.Dispose()
是什麼意思?什麼是connection.Dispose()在C#中的意思?
7
A
回答
7
的所有文件一個類實現IDisposable interface包含一個名爲Dispose()
方法,在這裏你可以釋放資源,或做其他事。
此外,using
聲明可以幫助自動調用Dispose()
方法。
using (SqlConnection connection = new SqlConnection(connStr))
{
//do something
}// it will automatically Dispose() here
,當你調用myClass.Dispose()
取決於你在Dispose
方法寫了,會發生什麼。例如:
public class MyClass : IDisposable
{
//since MyClass implements IDisposable, it must contain a Dispose() method otherwise will compile error
public void Dispose()
{
// do something
}
}
,所以如果你想知道當你調用connection.Dispose()
發生了什麼事,你必須看看類連接的Dispose()
方法(也許這是一個SqlConnection?)。如果它是一個.NET內置函數庫(這意味着您無法輕鬆獲取源代碼),您可以使用一個工具來幫助調用
1
0
conn.Dispose()調用非管理代碼中的函數。其實在編程時,你不需要調用這個函數,只需調用conn.Close()方法即可。
9
Dispose()方法從內存中永久刪除任何資源((未)管理)進行清理,並且資源不再存在以供進一步處理。
例子: -
void DataTest()
{
using(SqlConnection conn1 = new SqlConnection(...)) {
conn1.Open();
SqlCommand mycommand = new SqlCommand("Select * From someTable", conn1);
using(SqlDataReader myreader = mycommand.ExecuteReader()) {
if(myreader != null)
while(myreader.Read())
Console.WriteLine(myreader.GetValue(0).ToString() + ":" + myreader.GetTypeName(0));
}
mycommand.Dispose();
}
}
相關問題
- 1. 什麼?在C#中是什麼意思?
- 2. C中##是什麼意思?
- 3. 在c/C++中,^ =是什麼意思?
- 4. '「」''在C#中的「」+ ex'是什麼意思?
- 5. 什麼是(int)在c#中的意思?
- 6. 是什麼意思:是什麼意思?
- 7. **是什麼意思,C?
- 8. %* c是什麼意思?
- 9. 這是什麼意思? [c#]
- 10. 這是什麼意思-c
- 11. 這是什麼意思 - C#
- 12. cmd/C是什麼意思?
- 13. 在c#中'T:class'是什麼意思?
- 14. - >在C++中是什麼意思?
- 15. 在c#中,它是什麼意思'??'?
- 16. 在C++中'System :: String ^'是什麼意思?
- 17. 在c#中0u是什麼意思?
- 18. 在C#中,/ =是什麼意思?
- 19. 在C#中,expressionStack_xx_x是什麼意思?
- 20. 「::」在C++中是什麼意思?
- 21. 「void *(*)(void *)」在C++中是什麼意思?
- 22. 在C++中,「name :: name」是什麼意思?
- 23. 「.. ::」是什麼意思?在C#中?
- 24. 在Objective C中,「^ {...}」是什麼意思?
- 25. 在C++中'&'是什麼意思?
- 26. 是什麼意思,在Python中是什麼意思?
- 27. C#中的=]是什麼意思?
- 28. c。宏中的`.`和`*`是什麼意思?
- 29. Objective-C中的「&error」是什麼意思?
- 30. 目標C中的^是什麼意思?
當我們調用dispose()方法時實際發生了什麼? – selvaraj 2010-09-15 06:26:39
@Saj見我的編輯。 – 2010-09-15 06:28:08
正如編輯 使用(SqlConnection connection = new SqlConnection(...)){}轉換爲 嘗試SqlConnection sqlConnection = new SqlConnection(...); } finally { sqlConnection.Dispose(); } – 2010-09-15 06:38:43