5

umaged コードで使用される c# com クラスがあります。デバッグはできますが、いつオブジェクトが解放されるかわかりません。それが c++ で実装されていた場合、descructur が呼び出され、c# では GC にリリースされます。その瞬間を追跡する方法はありますか?前もって感謝します。

4

1 に答える 1

1

アンマネージド リソースを維持するマネージド型は、IDisposableインターフェイスを実装する必要があります。これにより、コードの消費者は、オブジェクトを使い終わったときにオブジェクトのインスタンスを呼び出す必要があることを伝えDispose()ます (つまり、using可能な場合はブロックでラップします)。

を適切に実装するIDisposableと、ファイナライザーでネイティブ リソースが解放されますが、クライアントはDispose()それよりも早く、アンマネージ リソースの確定的な解放を呼び出すことができます。どちらの方法でも漏れは避けられますがDispose()、できるだけ早く電話することをお勧めします。

これは、プロセスの詳細を示す SO の質問です。

于 2012-04-16T18:45:44.733 に答える