- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:オブジェクトをどこでdisposeするか)
オブジェクトの破棄方法とタイミングについて
このQ&Aのポイント
- C#やVBにおけるオブジェクトの破棄方法とタイミングについて教えてください。
- フォームに配置されたオブジェクトの破棄やdispose処理について悩んでいます。質問ボタンや閉じるボタンなどのタイミングでどのように処理すれば良いか教えてください。
- オブジェクトの破棄方法についてわからない点があります。フォームを閉じる際やボタン操作のタイミングでのdispose処理について教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
書かれているうちで,手動によるDispose対象になるのはSqlConnectionだけですね。 コントロールは親がDisposeされるとそのままDisposeされるので。 で,IDisposableなインスタンスが自分の管理下にある場合, ・不要になったらDisposeを呼び出す ・IDisposableなインスタンスは必要最小限の範囲で使う のがよいと思います。 SqlConnectionに関しては,コネクションプーリングに任せて必要な時のみ開いて閉じればよいでしょう。 # SqlConnectionに関して,Poolingはデフォルトtrue。 このため, using (var connection = new SqlConnection(connectionString)) { connection.Open(); /* DataAdapter使ってDataTableに値を流し込む */ } と,単一メソッドの中で開いて閉じることになります。
その他の回答 (1)
- lv4u
- ベストアンサー率27% (1862/6715)
回答No.1
C#は基本的にメモリ管理は自分でやらず、システムに自動でやってもらいます。 でも、フォームに関しては、使わなくなった時点で、明示的にdisposeしたほうが良いというのを見た気がします。 でも、私が以前創ったプログラムは、システムにお任せしました。
質問者
お礼
遅くなりましたが、ご回答ありがとうございました。大変参考になりました!
お礼
遅くなりましたが、ご回答ありがとうございました。大変参考になりました!