※ 引述《regionbbs (小朱)》之銘言:
: 如果要自己撰寫清除資源的程式,建議你使用 IDisposable 介面中的 Dispose() 方法。
: 也就是你要繼承 IDisposable 介面,然後實作自己的 Dispose() 方法。
: Finalize() 方法原則上是不需要明確呼叫的,CLR 會在你將物件變數設為 Nothing 時
: 自動幫你呼叫。就像 C# 的解構式一樣。
謝謝小朱大大的指導
但是我試著呼叫IDisposeable還是不行
以下是我的程式碼;還請各位大大指教~~
Public Class cal
Implements IDisposable
Private m_x As Integer
Private m_y As Integer
Private objvar As Object
Public Property x()
Get
Return m_x
End Get
Set(ByVal value)
m_x = value
End Set
End Property
Public Property Y()
Get
Return m_y
End Get
Set(ByVal value)
m_y = value
End Set
End Property
Public Sub Dispose() Implements IDisposable.Dispose
Console.WriteLine("dispose run!!")
objvar = Nothing
End Sub
End Class
Sub Main()
Dim aa As New cal
aa.x = 300
aa.Y = 100
Console.WriteLine("aa.x={0}", aa.x)
Console.WriteLine("------")
aa.Dispose()
Console.WriteLine("aa.x={0}", aa.x)
Console.Read()
End Sub
在呼叫aa.Dispose()後,再次列印aa.x
其值仍然存在
不知道錯在那裡;可否幫我看一下
謝謝大家
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.29.241.8