Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
デストラクタについて
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=2466#CommentId19606
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
るしぇ
 ()
投稿日時
2008/7/15 20:56:00
一本化したルールで覚えて問題無いなら、手法を統一して覚える手間を省き
ミスを少なくしたいという思いはあるのですが、Dispose は難しいですかねぇ。
るきおさん提示のリンク先から更に
[オブジェクトの有効期間 : オブジェクトの作成と破棄]
http://msdn.microsoft.com/ja-jp/library/hks5e2k6(VS.80).aspx
があるわけですが、
の時代にクラスの初期処理と終了処理を
Class_Initialize と Class_Terminate に書いていました。
# フォームだと Load イベントに書く場合も多かったですが。
インスタンスの生成時は New だけど、終了処理は?って時に迷います。
ここに書いておけば終了時に実行され、Base クラスで共通化されてる
ような終了処理が欲しかったです。
ただ、お話を聞いてると Dispose はリソースの破棄が無い場合は
実装しない方が良さそうですかねぇ。
でも、それだと終了処理を共通化できるようなコードは難しいですか。
# 対象のオブジェクトに Dispose が実装されているかどうかを判断するの
# って、キャストでエラートラップになりますよね?
>使用したクラスに Dispose が実行されている場合は必ず実行しておくように心掛けて
>おいたほうがよいのでしょうか?(初級講座第2回の Pen クラス等)
Button1_Click で CreateGraphics してる場合などは実行すべき場面です。
しかし、Paint イベントの e.Graphics では実行してはいけません。
理由は
>・自分自身でそのクラス/構造体のインスタンスを作成していること
による違いです。
やっぱり個々の場面毎に覚えていく必要もあるなぁ。。。