質問: value end set end property 警告 使用されないローカル変数'en'です。 インスタンスを経由する共有メンバ、定数メンバ、列挙型メンバ、または入れ子にされた型へのアクセスです。正規の式は評価されません。 いちおう警告だけで期待通りの動きはするのですが、そんなに不正なコーディングでもないのに警告がでるのはうっとうしいです。 かといて警告オプション・・・ 未使用のローカル変数 なし 共有メンバにアクセスするインスタンス変数 なし ・・・とするのも何だかなあ~ て感じです。 これは、安全なコーディングのため仕様が変わったせいなのでしょうか。 警告オプションをそのままに、上記の警告が出ないようにできないものでしょうか。 以上、よろしくお願いします。
回答: 根本的な話として、変数 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では、これで警告が出なくなります。