• ベストアンサー

メモリについて

現在VB.NET2005でWEBの開発をしています。そこでPageでfinalizeメソッドでprivate変数をnothingにして破棄処理をしていますが、意味があるのでしょうか? また、同じようにDLLモジュールのクラスにおいてもfinalizeメソッドでprivate変数をnothingにして破棄処理をしていますがこれも意味があるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • todo36
  • ベストアンサー率58% (728/1234)
回答No.1

>finalizeメソッドでprivate変数をnothingにして破棄処理をしていますがこれも意味があるのでしょうか? どうせfinalize直後に参照が切れるでしょうから、ヌルをセットする意味ないでしょう。 破棄処理が重要な意味を持つクラスはDispose()を実装しています。 そのクラスを使う側は、使い終わったら直ちにDispose()を呼ぶべきです。(using文で暗黙にdisposeするのもよし) Nothingをセットするだけでは意味ないし、finalizeでまとめてDisposeするのも戴けない。

参考URL:
http://msdn.microsoft.com/library/ja/dnpatterns/htm/pag/scalenetchapt05.asp
すると、全ての回答が全文表示されます。

関連するQ&A