0

他の人がメソッドを参照しているのを見ますが、含めると

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 を呼び出したり、ファイナライザーを実行したりする理由はありますか?

4

2 に答える 2

1

次の名前の public メソッドはありません。

System.GC.RunFinalizers()

あなたが読んだ参照は、おそらく次のものへの混乱した参照でした。

System.GC.WaitForPendingFinalizers()
于 2012-09-24T10:13:20.227 に答える
1

このメソッドは、.Net BCL では使用できませんでした。

しかし、このメソッドは .net 1.0 beta 2 まで実際に利用可能で、その後のビルドから削除されたようです。.net 1.0 のベータ バージョンに関する情報を入手することは非常に困難ですが、次のコードを参照することで (確実ではありませんが) 推論を導き出すことができます。

ソース:コードフォージ

protected void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
    {
        ci=null;
        System.GC.RunFinalizers();
        Application.ExitThread();
        Application.Exit();

    }

上記のコードの作成者は、この関数を使用しています。

ダウンロードには exe が含まれています (つまり、作成者がアプリケーションを正常にビルドできたことを意味します)。現在、ソース ファイルと exe の作成日は 2001 年 2 月であり、その時点では .Net Framework 1.0 ベータ 2 のみが利用可能でした。したがって、おそらく上記のコードの作成者は、.Net 1.0 beta2 に対してビルドしたものです。

于 2012-09-24T13:01:17.793 に答える