通知
すべてクリア
Topic starter
2006年1月17日 12:43 AM
以下のようにクラスBがクラスAをフィールドとして持つ場合、
クラスBのDispose()でSuppressFinalize()しても問題はないのでしょうか。
クラスAは後でちゃんとFinalize()されるのか心配で・・・
public class B : System.IDisposable
{
protected A a; // Disposableでない
public B()
{
a = new A();
}
public override void Dispose()
{
System.GC.SuppressFinalize();
}
}
2006年1月17日 10:23 PM
終了操作を要求するオブジェクトのセットからaは外されるわけではないですから,
a.Finalize()は呼び出されますよ。
Topic starter
2006年1月18日 10:53 PM
そうですか、ありがとうございます。
MSDN見てもはっきり書いてないんで、ちょっと考えてしまいました。
#未だにGCに慣れません・・・