我看到其他人引用该方法,但如果我包含
System.GC.RunFinalizers()
我收到错误'System.GC' does not contain a definition for 'RunFinalizers'
System.GC.Collect();
运行正常。如何运行RunFinalizers方法?它似乎不是GC类的成员:http://msdn.microsoft.com/en-us/library/system.gc.aspx
修改 可以在此处找到对此方法的引用:
答案 0 :(得分:1)
没有名为的公共方法:
System.GC.RunFinalizers()
您阅读的任何参考文献很可能是对以下内容的疑惑:
System.GC.WaitForPendingFinalizers()
答案 1 :(得分:1)
此方法从未在.Net BCL中使用。
但似乎这种方法确实可用,直到.net 1.0 beta 2,然后从后续版本中删除。获取有关.net 1.0 beta版本的任何信息非常困难,但通过查看以下代码可以得出推断(虽然不是万无一失):
来源:CodeForge
protected void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
ci=null;
System.GC.RunFinalizers();
Application.ExitThread();
Application.Exit();
}
上述代码的作者正在使用此功能。
Exes包含在下载中(意味着作者能够成功构建应用程序)。现在,源文件和exes的创建日期是2001年2月,当时只有.Net Framework 1.0 beta 2可用。因此,上述代码的作者很可能将其构建为.Net 1.0 beta2。