2011-10-21 9 views
3

モジュールの先頭で、さまざまなサブ/関数で使用するいくつかのグローバル変数を宣言したいと思います。Dim vs Private/Public

Dim x as stringPrivate x as string/Public x as string、そしてときに私は他の上のものを使用するの違いは何ですか?

+0

'Friend x as String'を忘れないでください –

+0

[post] [1]はより良い答えを示します。 [1]:http://stackoverflow.com/questions/5401372/difference-between-dim-and-private-inside-a-vb-net-form – gonzobrains

答えて

8

宣言している変数またはオブジェクトのプライベートおよびパブリックコントロール。

Privateは、インスタンスのみ

publicにアクセスするには、どのような相対的なモジュール/クラス/のメンバーがそれにアクセスするためにどのようなモジュール/クラス/と同じスコープで何でもできるようになりますことができます。

Dimは、あなたの作業内容に応じて、公開または非公開のいずれかにデフォルト設定されます。たとえば、クラスはデフォルトで非公開になります。私はカプセル化とOOPを読んで、これをより良く感じることをお勧めします。

+0

はい、しかし何場合は違いますDimを使うかしない? – gonzobrains

+0

答えをもう一度お読みください。 Dimのデフォルトは、あなたが構造体であるかクラスであるかに応じて、公開または非公開にします。 – MGZero

+0

dimのデフォルト値 – mattumotu

0

これらは異なるものの、関連するものです。

Dim Statement (Visual Basic) [MSDN]は教えてくれる:

[薄暗い]は宣言し、1つまたは複数の変数のための記憶領域を割り当てます。

薄暗いキーワードはオプションと次の修飾子のいずれかを指定した場合、通常は省略している:公共、保護された、友達、友達を保護された、プライベート、共有、影、静的、読み取り専用、またはWithEvents。

Access Levels in Visual Basic [MSDN]

は教えてくれる:

プライベート(とパブリックは、保護された、友達、保護された友達は)アクセス修飾子は、「どのようなコードは、それを読むか、それへの書き込み権限を持っている。」を指定しています

とモジュールレベルで

、いずれかのアクセスレベルのキーワードのないDimステートメントは、プライベート宣言と同等です。ただし、Privateキーワードを使用すると、コードを読みやすく解釈しやすくなります。

のでPrivate x As Stringは(あなたが入力した場合点心を削除します。このVisual Studioのが)

Dim x As Stringは(それがPublic x As Stringと同等である)の構造を除いてPrivate x As Stringに相当しDim Private x As Stringとインタフェースのと同じです変数を宣言することはできません - Declaration Contexts and Default Access Levels (Visual Basic) [MSDN]

関連する問題