资源释放的问题? 我做了一个用户控件A,在这个对象里new 了几个其它用户控件b1,c1。问:我需要释放几个其它用户控件b1,c1吗?怎么释放,在什么事件里释放? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 无法手动释放,这个是.net的垃圾回收机制的弊端,只有当.net察觉对象没有用的时候,才会释放 通常是不需要释放的如果非要释放在不用的时候 直接写成b1=null,c1=null 就成了 .net的垃圾回收机制问题就是不知道系统什么时候回收,有可能立马就干掉了,比如b1=null,你可以写在你的自定义控件的事件中 .net会帮你释放的,如果你非要释放,可以用xx.Dispose(); 试试使用using例如 using (YourClass YourObject = new YourClass ()){ //对YourObject做操作}这样在'}'之后就会释放内存. 补充:你的class 必须继承 IDispose接口才能using和dispose 不用释放吧释放就用Dispose吧 针对用户控件,在什么事件释放?using (YourClass YourObject = new YourClass ()){ //对YourObject做操作}估计不行,我以后还要在父控件对这个控件操作。 用户控件如果你不手工释放的话,会跟窗体一起释放。不用使用using,你可以在不想要的时候先从窗体的Controls集合中删掉他接下来直接调用(c as IDisposable).Dispose();然后清除引用即可 如果要调用Dispose,则必须继承IDisposable接口,并提供相应的具体实现,否则一点儿意义都没有。 ASP.net 做有消息就提示出来的功能 IIS发布网站出错 IList<类名> 对象名 = new IList<类名>();都进来看看吧。让你受益匪浅的 整个datatable导入到数据中的问题 Sqlserver中Dateadd()函数的用法 数据库插入的问题 优化大师的源代码(C#版)??? 大侠们:richtextbox里如何输入文本? 2个库中的2个表关联 关于图片文件的问题 高手解决的问题 如何读取本地磁盘列表并显示在ListView控件中
这个是.net的垃圾回收机制的弊端,只有当.net察觉对象没有用的时候,才会释放
如果非要释放
在不用的时候 直接写成b1=null,c1=null 就成了
例如
using (YourClass YourObject = new YourClass ())
{
//对YourObject做操作
}
这样在'}'之后就会释放内存.
释放就用Dispose吧
using (YourClass YourObject = new YourClass ())
{
//对YourObject做操作
}
估计不行,我以后还要在父控件对这个控件操作。
接下来直接调用
(c as IDisposable).Dispose();
然后清除引用即可