- - PR -
VWD2005 での警告について
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-08-17 14:06
■ASP.NET2.0
■VWD2005 現在、VWD2005 を使って、Webアプリケーションを作成しております。 VS.NET2003 で作成したクラスを今回も利用しようと思っていましたが、 まったく同じ内容でも VWD2005 では警告が出てしまいます。 (VS.NET2003 の時は、警告は出ていませんでした) 以下が、クラスの内容です。VWD2005 用にカスタマイズしてありますが、基本は VS.NET2003 の時に使用していたものと同じです。
警告が出ているのは、 If Not wo_DataSet Is Nothing Then wo_DataSet.Dispose() If Not wo_Adapter Is Nothing Then wo_Adapter.Dispose() の2行で、
という警告です。 これは、作りがマズイのでしょうか? それとも他に問題があるのでしょうか? 作りがマズイ場合、その箇所を教えていただけると助かります。 よろしくお願い致します。 | ||||||||
|
投稿日時: 2006-08-17 14:59
2005 からコンパイラが色々なお世話をしてくれるようになりました。 宣言位置にて明示的に Nothing で初期化してください。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-08-17 15:02
VWD2005は使用していなく、エラーから推測しているので
間違ってるかもですが… wo_DataSet = New DataSet wo_Adapter = New OracleDataAdapter(ws_Sql, wo_Conn) を行う前に何らかの例外が発生した場合にFinallyで wo_DataSet,wo_Adapterを参照する可能性があるからではないでしょうか? (このときwo_DataSet,wo_Adapterは不定値になっているから?) ですので Dim wo_DataSet As DataSet = Nothing Dim wo_Adapter As OracleDataAdapter = Nothing とすれば大丈夫なような… # と書いているうちに じゃんぬさん からの書き込みが [ メッセージ編集済み 編集者: Katze 編集日時 2006-08-17 15:04 ] | ||||||||
|
投稿日時: 2006-08-17 15:09
じゃんぬさん、Katzeさん、回答ありがとうございました。
そういうことだったんですね。 「変数は、初期化してから使いなさい」という方向へ導いているのでしょうか・・・ 原因が分かってスッキリしました。 Nothing で初期化しておきます。 ありがとうございました。 |
1