作者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
1F:推 fumizuki:为何不直接New一个新的执行个体@@ 04/10 21:32
2F:→ regionbbs:你先看清楚我前面的回应吧。 04/10 22:03