作者b8888 (b8888)
看板Visual_Basic
標題Re: [.NET] 請問解構式的寫法
時間Thu Apr 10 13:47:15 2008
※ 引述《regionbbs (小朱)》之銘言:
: 你可能誤解我的意思了。
: 我是說如果你的類別需要自己清除一些東西的話,可以用 IDisposable 介面。
: 但在你呼叫 Dispose() 時,物件並沒有設成 Nothing 啊。
: 真正的物件釋放是在設定物件變數為 Nothing 時。
: IDisposable 只是用來讓你在物件釋放前做一些清理工作而已。
: (例如釋放記憶體或連線等等資源)。
先謝謝小朱大大的分享;您真是個好人
Public Class cal
Implements IDisposable
Private m_x As Integer
Private m_y As Integer
Private objvar As Object
^^^^^^^^^^^^^^^^^^^^^^^^
.... 部份程式略
Public Sub Dispose() Implements IDisposable.Dispose
Console.WriteLine("dispose run!!")
objvar = Nothing
^^^^^^^^^^^^^^^^
End Sub
End Class
我的問題是我在cal這個class中已宣告了一個變數objvar型態是object
在呼叫Dispose()時應該會執行objvar=nothing
^^^^^^^^^^^^^^
但是以
Dim aa As New cal
執行aa.dispose()
但aa這個物件並不會被消滅~~~
我該如何修改Dispose()這個函數
或是如何將aa這個物件傳入dispose()中
謝謝各位大大的指導
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.29.241.8
推 fumizuki:為何不直接New一個新的執行個體@@ 04/10 21:32
→ regionbbs:你先看清楚我前面的回應吧。 04/10 22:03