重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

 お世話になります。VB2005Expressです。

 あるプロジェクトが、a.vb及びb.vbから構成されています。
 a.vbの中身は、
Option Explicit On
Option Strict Off
Public Class a
Public c As String
End Class
となっています。

 これを、b.vb上で、
Module b
Public Sub test()
Dim t As String
t = a.c
End Sub
End Module
としているのですが、これはこれで期待通りの動作をしています。(cが"123"なら、tも"123"になる)

 さて、デバッグのステップイン等を使う際に、test()中のコードを追いかけている時で、tの値を知りたい場合はウォッチ式に"t"を与えれば良いのですが、cの値を知りたい場合はウォッチ式に何を与えれば良いのでしょうか。
 "c"だと、「名前cは宣言されていない」というエラーが出ます。
 "a.c"だと、「非共有メンバを参照するには、オブジェクト参照が必要です」というエラーが出ます。

A 回答 (1件)

t = a.c


↑このようにインスタンスを生成させずにa.cを利用するのであるなら、cをSharedにすればよいかと思います。
↓のように
Public Shared c As String

そうすれば共有メンバとなるので、ウォッチ式でa.cとしても
非共有メンバを参照するには~
のエラーは出なくなると思います。

試してないので、参考までに。
    • good
    • 0
この回答へのお礼

 上手くいきました。ご教示、ありがとうございました。
 VBは奥が深い。
 いや、僕が浅いだけなのか・・・。

お礼日時:2008/04/08 21:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!