关于Dispose

yangfan369 2006-09-09 02:05:18
请教各位:
为什么一个类调用了Dispose()之后,还能访问?
再调用了System.GC.Collect()之后,依然能够访问?
...全文
357 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
robot2005 2006-09-10
  • 打赏
  • 举报
回复
Dispose 方法的实现如何啊?
jijl2001 2006-09-10
  • 打赏
  • 举报
回复
不知道你是怎么实现classA的Dispose的
namhyuk 2006-09-10
  • 打赏
  • 举报
回复
Garbage Collection不是说只有在内存紧张时才会调用的吗?

好像没有什么能保证垃圾回收会在什么明确时刻执行的。就算明确调用了Dispose也好GC.Collect();也好。

嘿嘿,其实这方面没研究过,基本属于猜想。连仅供参考的资格都没有。
算是帮顶吧。

yangfan369 2006-09-10
  • 打赏
  • 举报
回复
自己up一下
yangfan369 2006-09-10
  • 打赏
  • 举报
回复
请教jijl2001(jijl2001):应当如何做才能保证立即释放内存。
我在这里面释放了所有私有变量,调用所有私用变量的Dispose()(如果有此方法)
;
liwei6797 2006-09-09
  • 打赏
  • 举报
回复
liwei6797 2006-09-09
  • 打赏
  • 举报
回复
真的不知道
liwei6797 2006-09-09
  • 打赏
  • 举报
回复
不知道
vshake 2006-09-09
  • 打赏
  • 举报
回复
ClassA a=new ClassA();
a是一个局部变量,我想这里可能有关局部变量的生命周期的问题...
ProsCode 2006-09-09
  • 打赏
  • 举报
回复
UP???
yangfan369 2006-09-09
  • 打赏
  • 举报
回复
按道理说,一个实例调用了Dispose后,就销毁了,但是还能访问,如:
ClassA a=new ClassA();
a.Dispose();
string s = a.ToString(); //竟然还能访问,问什么?
System.GC.Collect(); //开始怀疑是否没有回收垃圾,所以强制回收;
string s2=a.ToString(); //依然能访问,为什么?
GXY2005 2006-09-09
  • 打赏
  • 举报
回复
你這個類的Dispose()方法并沒有銷毀實例對象。
還有可能你這個類是靜態類
ilove8 2006-09-09
  • 打赏
  • 举报
回复
Dispose 不是销毁啦 ??


你的问题好奇怪

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧