■No35045 (1年生 さん) に返信 > Private Const abc As String = "abc" > Dim 変数 As String = Me.abc > 「インスタンスを経由する共有メンバ、定数メンバ、列挙型メンバ、または入れ子にされた型へのアクセスです。正規の式は評価されません。」
オブジェクト インスタンスのメンバではなく、型自体のメンバと看做されるためです。 フォームのインスタンスを表す Me ではなく、型を表す Form1 を使って Dim 変数 As String = Form1.abc などとすれば、警告は発生しなくなります。
これは定数だけではなく、Shared なメンバであっても同様です。
たとえば日付型には、最大の日付値(9999/12/31 23:59:59.9999999)を返すための 「MaxValue」という読取専用プロパティが用意されており、 Dim dt1 As Date = Date.MaxValue のようにして利用することができます。
この MaxValue は、日付型そのものが持つ、共有(Shared)なメンバであって、 特定の日付値に対するメンバではありません。そのため、 Dim dt2 As Date = #12/31/2000#.MaxValue Dim dt3 As Date = Now.MaxValue のような記述に対しては、今回の警告メッセージが表示されます。