Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
デストラクタについて
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=2466#CommentId19601
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
みどり
 ()
投稿日時
2008/7/15 18:13:00
ご回答ありがとうございます。
お礼が遅くなり申し訳ありません。
結局のところ勉強不足のためよく理解できないというのが感想です。
皆様の意見を参考に自分なりに導きだした答えは、
とりあえず、特に何も処理を行う必要がない場合でも将来の改造に備えて Dispose メソッドを実装しておきは空にしておき、使う側は独自に作成したクラスには必ず Dispose メソッドがあるのでとりあえず呼んでもらう。
また、派生クラスで親クラスに Dispose メソッドが存在する場合は子クラスの Dispose メソッドで MyBase.Dispose を実行する。
あと、使う側で Dispose メソッドが実行されなかった場合の保険として Finalize メソッドを実装しておきガベージコレクタ任せになるけれども 親クラスの Finalize メソッドを呼び出すようにしておく(派生クラスの場合)。
といった感じなんですが、どうでしょうか?
クラスを使う側からみた場合にコンストラクタは非共有メンバにアクセスするたのインスタンスに必ず使用している形になっていますが、Dispose は参考プログラム等ではあまり実行されている様子はありません。
恐らくは参考プログラムなので割愛されているのだとは思いますが、使用したクラスに Dispose が実行されている場合は必ず実行しておくように心掛けておいたほうがよいのでしょうか?(初級講座第2回の Pen クラス等)