Disposeについて

タグの編集
投稿者 しがないPG  (社会人) 投稿日時 2009/7/16 20:06:01
データベースででてくるDisposeという文についての質問です。
Openはわかるのですが、Disposeに関していまいち掴みきれていません。
なぜ、これを使うのでしょうか?
また、Disposeをした後にSQLを入れてデータベースを動かす。なんて事はできるのでしょうか?
投稿者 るしぇ  (社会人) 投稿日時 2009/7/16 22:38:55
>データベースででてくるDisposeという文についての質問です。
たくさんあるし、自作のクラスの話でも通じるので、この質問では
答えは1つになりません。一般論はありますが、設計者がどう作ったか
はマニュアル(ヘルプ)に書いてありますので読んで従ってください。

>なぜ、これを使うのでしょうか?
使わなくてもいい設計もあります。
これも使う必要があればマニュアルに載せておくべき内容
ですが、抜けてることは多々あるので、実際にデータベース側で
コネクションを確認するなどして問題が無いことを確認します。
データベース系で使われるのは Open ~ Close で、Dispose は
必須では無い場合が多いです。
明示的に使ってるなら、自分が所有しているリソースを解放
でしょう。必須では無いので、設計方針に従ってください。
[Dispose メソッドの実装]
http://msdn.microsoft.com/ja-jp/library/fs2xkftw(VS.80).aspx

> また、Disposeをした後にSQLを入れてデータベースを動かす。
> なんて事はできるのでしょうか?
一般にはできません。できてはいけません。
Microsoft が提供している既存のクラスの話なら、実際に
コーディングして実行してどうなるか確認してみてください。
投稿者 しがないPG  (社会人) 投稿日時 2009/7/17 19:29:39
ありがとうございます、参考サイトさんでもDisposeは使われていてもその部分の説明はないので。
疑問だったんですよね。調べてみると意外といらなかったりするんですね。