关于Object.Finalize()方法使用的疑惑
比如我有一个类
public class aaa
{
public aaa(){}
}
那么这个类我使用完璧了是怎么销毁的?通过Object.Finalize()吗?
如果我这么写
public class aaa
{
public aaa(){GC.SuppressFinalize(this);}
}
这个方法意识是不调用对象的终结器
那么这个类我使用完璧了又是怎么销毁的?
------解决方案--------------------不用Finalize(), 因为class是引用类型
看看 < <CLR via c#> >
------解决方案--------------------1、Finalize不由你调用,这个方法由GC自动调用,任何代码都不应调用Finalize方法。
2、Finalize方法仅为释放非托管资源提供最后一道屏障,任何托管资源不应在Finalize方法中出现。
3、C#中的对象销毁由GC自动完成,不需干预。