- PR -

TreeViewの再帰的に呼び出しについて

投稿者投稿内容
King
ぬし
会議室デビュー日: 2008/06/20
投稿数: 284
投稿日時: 2009-03-17 09:15
Azulean さん

そういわれるとそうですね・・・。
元のコードにこだわりすぎて
局所的に考えて視野が狭くなってました。

実際仕事でデータベース処理する際は
トランザクション処理等の処理をメソッドとして実装した
DBAccesser クラスとかを作ってます。
(コードでも書かれてるように)IDisposable を実装して
コンストラクタで Open し、Dispose 内で Close する事によって
using で使いやすいようにしています。
セラフ
ベテラン
会議室デビュー日: 2005/12/01
投稿数: 95
お住まい・勤務地: 東北の顔の形といえば
投稿日時: 2009-03-17 10:50
引用:

Azuleanさんの書き込み (2009-03-16 23:00) より:
私的にはIDisposable.DisposeでCloseせず、アンマネージリソースを残すクラスはIDisposableを正しく実装できているとは思えません。



確かに、私的にも製造元のバグと言ってしまうでしょうね。
ただ、データベースやストリームといったアンマネージリソースを扱う場合、後任やレビューアーにOpenとCloseを明示してあげることで、コーダーの意図を直感的に伝える手法として「あり」では無いかと思います。

「OpenがあるのにCloseが無いのはなぜ?」に「Disposeがやるべきだから」と毎回答えるのは面倒くさいってのもありますがw

スキルアップ/キャリアアップ(JOB@IT)