使用如下代码打开一个窗体:
public void Info()
{
zForm form = new zForm();
form.ShowDialog();
//form.Dispose();
//form = null;
//System.GC.Collect();
}
请问:
//form.Dispose();
//form = null;
//System.GC.Collect();
哪种方式能对zForm 窗体中的所有使用资源(变量、dataset等)进行回收呢?还有如果使用COM封装c#的话,以上哪种方式能回收资源??
public void Info()
{
zForm form = new zForm();
form.ShowDialog();
//form.Dispose();
//form = null;
//System.GC.Collect();
}
请问:
//form.Dispose();
//form = null;
//System.GC.Collect();
哪种方式能对zForm 窗体中的所有使用资源(变量、dataset等)进行回收呢?还有如果使用COM封装c#的话,以上哪种方式能回收资源??
form.Dispose(); 就可以了
System.GC.Collect(); 强制回收,一般不这样调用,因为不是非托管的
form = null; 好像也可以,就是说等到垃圾回收调用时候,因为变量为null没有引用了,就可以被回收
但是时间不确定
使用COM方式封装c#的,封装后的程序,需要在C++中调用的;这样的封装方式,C#的资源管理是非托管的,还是托管的?form.ShowDialog(); 方式打开窗体,想法是希望在结束这个窗体后,回收全部不用的资源,那么使用form.Dispose();
可以回收窗体中使用到的全部资源么?