- - PR -
オブジェクト破棄を保証する using でのCloseの必要性?
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-03-10 10:40
オブジェクトの破棄を保証するusingの使用についてです。
下記のように、Connection等の場合、Closeを敢えて指定する必要はありますか? 必要最小限のシンプルなコーディングしたいと思いますが、 Disposeが保証される為、Closeも保証されると考えて、 "MyConnection.Close()"を省略してもよいのでしょうか。 using (System.Data.SqlClient.SqlConnection MyConnection = new System.Data.SqlClient.SqlConnection("...省略...")) { MyConnection.Open(); try { // } finally { // MyConnection を閉じる if (MyConnection != null) { MyConnection.Close(); } } } |
|
投稿日時: 2007-03-10 11:40
Dispose の機能を持つメソッドをクラスによって Close などの名前を付けても良い、とガイドラインにあります。
が、所詮ガイドラインであり保証されているわけではありません。ひょっとしたらそれぞれ別機能を提供していて順次呼び出す必要があるかも知れません。 ですので、クラスごとにきちんとリファレンスを引きましょう。 SqlConnection.Close メソッド (System.Data.SqlClient) |
|
投稿日時: 2007-03-10 20:42
Hongliang様、有難うございます。
教えて頂いたリンク先で確認致しました。 了解です。 まず、調べてから質問ですね・・・ |
1