モジュールの先頭で、さまざまなサブ/関数で使用するいくつかのグローバル変数を宣言したいと思います。Dim vs Private/Public
Dim x as string
とPrivate x as string
/Public x as string
、そしてときに私は他の上のものを使用するの違いは何ですか?
モジュールの先頭で、さまざまなサブ/関数で使用するいくつかのグローバル変数を宣言したいと思います。Dim vs Private/Public
Dim x as string
とPrivate x as string
/Public x as string
、そしてときに私は他の上のものを使用するの違いは何ですか?
宣言している変数またはオブジェクトのプライベートおよびパブリックコントロール。
Private
は、インスタンスのみ
public
にアクセスするには、どのような相対的なモジュール/クラス/のメンバーがそれにアクセスするためにどのようなモジュール/クラス/と同じスコープで何でもできるようになりますことができます。
Dim
は、あなたの作業内容に応じて、公開または非公開のいずれかにデフォルト設定されます。たとえば、クラスはデフォルトで非公開になります。私はカプセル化とOOPを読んで、これをより良く感じることをお勧めします。
はい、しかし何場合は違いますDimを使うかしない? – gonzobrains
答えをもう一度お読みください。 Dimのデフォルトは、あなたが構造体であるかクラスであるかに応じて、公開または非公開にします。 – MGZero
dimのデフォルト値 – mattumotu
これらは異なるものの、関連するものです。
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]
'Friend x as String'を忘れないでください –
[post] [1]はより良い答えを示します。 [1]:http://stackoverflow.com/questions/5401372/difference-between-dim-and-private-inside-a-vb-net-form – gonzobrains