• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:整数の引数に列挙を使ったとき)

整数の引数に列挙を使ったときの警告

このQ&Aのポイント
  • VB2003では警告が出なかったが、VB2008では警告が出る
  • 警告は期待通りの動作であり、不正なコーディングではないが、うっとうしい
  • 警告オプションを変更しても警告が出ないようにできないか検討中

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

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

根本的な話として、変数 en は不要です。 列挙体の内容を使用する際に、そのインスタンスは不要です。 列挙体は、ある意味 定数みたいなものなので。 プロパティ定義の引数とかで使用する場合は、変数としての定義は 必要ですが。 > Dim en As enmItem の行を消して、 > Item(en.eName2) = "DATA2" > Item(en.eName3) = "DATA3" > Item(en.eName1) = "DATA1" を、  Item(enmItem.eName2) = "DATA2"  Item(enmItem.eName3) = "DATA3"  Item(enmItem.eName1) = "DATA1" に変更してみてください。 少なくともVS2005では、これで警告が出なくなります。

o_jiji
質問者

お礼

すばやい回答ありがとうございます。 >そのインスタンスは不要です。 さっそくソースを変更したら、警告はでなくなりました。 ところで、列挙をインスタンス化した目的は長い名前を短くしたかったこともありました。 実際にはこんな感じになりました。 mSpec.Item(enmMySpecItemDat.eDataName) = Me.tbxDataName.Text mSpec.Item(enmMySpecItemDat.eWorkName) = Me.tbxWorkName.Text ... まあ、「コピペ」するのでそんな手間でもないんですが~。

関連するQ&A