C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 77 を表示中)
■45495 / )  Re[1]: VBでグローバル変数
□投稿者/ よねKEN (432回)-(2010/01/13(Wed) 22:10:37)
2010/01/13(Wed) 22:13:43 編集(投稿者)
No45484 (RT さん) に返信
> VBでグローバル変数を使いたいのですが、

「お勧めはしませんが」と前置きをした上で・・・

> モジュールの中でpublic宣言した変数をクラスから、参照したいのですが、
> どのように参照するのかわかりません。何か宣言のようなものが必要なのでしょうか?

モジュールの中で既に宣言してあるなら、後は普通の変数と同じように使うだけです。
1つのプロジェクト内の話ですよね?

例えばMoudule1.vbに以下のようにモジュールを定義したとします。

Module Module1
    Public グローバル変数 As String
End Module


同じプロジェクト内なら、

x = グローバル変数    ' xは適当な変数です。特に意味はありません

や

グローバル変数 = "あいう"

のように使用できます。

> また、クラス内でsheredで宣言してする方法と、どのような違いがあるのでしょうか?

Public Class Class1
    Public Shared グローバル変数 As String
End Class

とあった場合、これを使用するには、

x = Class1.グローバル変数    ' xは適当な変数です。特に意味はありません

や

Class1.グローバル変数 = "あいう"

のように使用します。「Class1.」で修飾してやる必要があります。
あるいは、使用したいコードを書いているファイルの先頭で

Imports Class1

のように記述しておくことで、Moduleで宣言した場合と同様に

x = グローバル変数    ' xは適当な変数です。特に意味はありません

や

グローバル変数 = "あいう"

のように書くこともできます。

ModuleはSharedなメンバー(ローカルでない変数、プロパティ、メソッドなど)だけを持つClassとほぼ等価です。
Moduleの場合はモジュール名で修飾することなくそのメンバーにアクセスできる点が異なります。

返信 編集キー/


管理者用

- Child Tree -