读书人

关于Object.Finalize()方法使用的疑惑

发布时间: 2012-02-02 23:57:14 作者: rapoo

关于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自动完成,不需干预。

读书人网 >C#

热点推荐