凡System.GC.RunFinalizers()在什么位置? [关闭](Where is S

2019-11-01 02:44发布

这很难说什么被要求在这里。 这个问题是不明确的,模糊的,不完整的,过于宽泛,或者修辞,不能以目前的形式得到合理答复。 如需帮助澄清这一问题,以便它可以被重新打开, 访问帮助中心 。

我看到别人引用的方法,但如果我有

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

编辑:参考这种方法可以在这里找到:

如果你坚持在.NET标准编码,是有原因手动调用GC或运行终结?

Answer 1:

这种方法从未在.NET基础类库使用。

但似乎这样的方法确实可以直到.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();

    }

上面的代码的作者使用此功能。

EXE文件都包含在下载(从而意味着笔者能够成功构建应用程序)。 现在创建的源文件和EXE文件的日期是2001年二月在此期间仅.Net框架1.0 beta 2版本可用。 所以,在所有的概率上面的代码的作者建立它进行针对.NET 1.0β2。



Answer 2:

有一个名为的公共方法:

System.GC.RunFinalizers()

你看它的任何引用是最有可能的一个困惑参考:

System.GC.WaitForPendingFinalizers()


文章来源: Where is System.GC.RunFinalizers() Located? [closed]