• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:オブジェクトをどこでdisposeするか)

オブジェクトの破棄方法とタイミングについて

このQ&Aのポイント
  • C#やVBにおけるオブジェクトの破棄方法とタイミングについて教えてください。
  • フォームに配置されたオブジェクトの破棄やdispose処理について悩んでいます。質問ボタンや閉じるボタンなどのタイミングでどのように処理すれば良いか教えてください。
  • オブジェクトの破棄方法についてわからない点があります。フォームを閉じる際やボタン操作のタイミングでのdispose処理について教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

書かれているうちで,手動によるDispose対象になるのはSqlConnectionだけですね。 コントロールは親がDisposeされるとそのままDisposeされるので。 で,IDisposableなインスタンスが自分の管理下にある場合, ・不要になったらDisposeを呼び出す ・IDisposableなインスタンスは必要最小限の範囲で使う のがよいと思います。 SqlConnectionに関しては,コネクションプーリングに任せて必要な時のみ開いて閉じればよいでしょう。 # SqlConnectionに関して,Poolingはデフォルトtrue。 このため, using (var connection = new SqlConnection(connectionString)) { connection.Open(); /* DataAdapter使ってDataTableに値を流し込む */ } と,単一メソッドの中で開いて閉じることになります。

mellow91
質問者

お礼

遅くなりましたが、ご回答ありがとうございました。大変参考になりました!

その他の回答 (1)

  • lv4u
  • ベストアンサー率27% (1862/6715)
回答No.1

C#は基本的にメモリ管理は自分でやらず、システムに自動でやってもらいます。 でも、フォームに関しては、使わなくなった時点で、明示的にdisposeしたほうが良いというのを見た気がします。 でも、私が以前創ったプログラムは、システムにお任せしました。

mellow91
質問者

お礼

遅くなりましたが、ご回答ありがとうございました。大変参考になりました!