作者b8888 (b8888)
看板Visual_Basic
标题Re: [.NET] 请问解构式的写法
时间Thu Apr 10 11:50:55 2008
※ 引述《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